GitAhead скачивание проекта, создание 2й ветки и первый commit
Принципиальной разницы откуда проект — нет (gitlab/github/https/ssh…), единственное у github проблемы с https для push (загрузки данных на сервер)
При старте GitAhead выбираем «clone repository» и вводим (пример на рисунке 1)

Рисунок 1 — добавление ссылки в GitAhead
Жмем next выбираем папку куда сохранится проект.
Обычно в проекте ведется работа в 2х и более ветках
main/master где хранится основная/рабочая версия (создается по умолчанию)
ветка develop где хранится промежуточный/черновой вариант
Хорошим тоном является создание дополнительных веток для решения мелких проблем.
Для примера создадим ветку develop (процесс показан на рисунках 2 и 3)
Рисунок 2 — создание дополнительной ветки
В открывшемся окне выбираем
Рисунок 3 — название дополнительной ветки
Можно выбрать Checkout branch — в этом случае после создания мы будем работать в создаваемой ветке
ВАЖНО не выбирать Upstream — иначе ветка не создастся в Git а будет «видна локально»
Нажимаем Create Branch
На этом создание дополнительной ветки завершено.
В реальных проектах используется 2 подхода:
1) сразу создать обе ветки
2) создать мастер ветку, загрузить базовые файлы и из нее «вырастить» develop
2 подход часто используется с legacy кодом
Также есть возможность для блокировки main/master ветки от «случайного» push кода, работает как ограничение прав.
Т.к. мы выбрали Checkout branch и работаем в ветке develop — дополним наш проект:
В папку где сохранился проект добавляем несколько файлов (для примера ):
main.cpp
#include <iostream>
#include <string>
int main(){
std::cout<<"Hello Wrd_mistake"<<std::endl;
}
и CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
project(test_GitAhead VERSION 0.1.0)
include(CTest)
enable_testing()
add_executable(test_GitAhead main.cpp)
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
Открываем файл .gitignore и прописываем build/* чтобы игнорировать файлы сборки
P.S. данный файл скрытый, но м.б. виден в вашей IDE или можно его править через командную строку linux
можно перейти/создать папку build и в ней выпонить команды:
cmake ../
make
./test_GitAhead
В результате получим сообщение «Hello Wrd_mistake»
Советую обратить внимание на количество временных файлов в папке build — и впредь игнорировать подобные папки, не пуша их в гит.
Если все сделано правильно — вернемся в GitAhead — должны появится данные об изменениях в проекте
Вводим сообщение о том что это первый коммит (обычно первый комит всегда помечают этим сообщением) пример на рисунке 4.
Нажимаем commit
Теперт у нас локально есть «точка сохранения» с названием first commit для заливки на git требуется выполнить команду push
Нажимаем на стрелочку вправо (см. рисунок 5 — там подпись push) и в логах получаем ошибку (см. рисунок 6)
В ошибке говорится о том что на сервере нет данной отслеживаемой ветки, и нет данных что делать
1-создать ветку
2-запушить без ветки
Рисунок 6 — ошибка отсутствия отслеживаемой ветки
Выбираем пункт 1 «push and set the current branch’s upstream»
P.S. с ветками есть альтернативные варианты:
1-создать через web интерфейс
2-создать командами
Но как по мне вариант через GUI с графиком коммитов и веток наиболее удобен.

