Один проект - одна ветка.
Название веток задавать по шаблонам <сокращение пути к папке проекта>.
Например, проект над которым работаем находится в репозитории samolet_outer_notebooks по пути detection_barriers/cv/detection/cell/pd170223
Ветку делаем с коротким названием det_bar_cv_det_cell_pd170223, тогда по названию ветки, будет понимание к какому проекту и версии модели относится ветка.
Подписать автора коммитов.
git config --global user.name "name"
git config --global user.email "email@example.com"
Посмотреть состояния файлов в git.
git status
Добавить файлы в индекс, которые пойдут в комит.
git add <file_name>
Добавить дирректорию в индекс. В дирректории должны быть файлы, если она пустая, то git ничего не добавит.
git add <dir_name>/
Удалить все файлы из индекса, которые были добавлены командой git add.
git reset
Удалить определенный файл из индекса.
git reset <file_name>
Добавить комит.
git commit -m "Name commit"
Переименовать последний комит.
git commit --amend -m "New name commit"
Вернуться к локальному комиту <hash_commit>, если комиты не отправляли на сервер.
Если хотим, чтобы добавленный в файлы код остался. Например, мы дописали функцию и хотели бы, чтобы остался вариант доработанной функции.
git reset --mixed <hash_commit>
Если хотим, чтобы добавленный в файлы код удалился, а состояние файлов вернулось к исходному состоянию в комите, к которому вернулись. Например, мы дописали функцию и хотели бы, чтобы дописанный код удалился, а функция вернулась в исходное состояние.
git reset --hard <hash_commit>
Посмотреть какие комиты не были отправлены на сервер.
git diff origin/main..HEAD
Отправить комиты на сервер.
git push
Получить изменения с сервера.
git pull
Посмотреть историю комитов.
git log
Вернуть файлы к состоянию последнего коммита.
git checkout .
Удалить определенный файл из репозитория.
git rm <file_name>
Восстановить удаленный файл в исходное состояние. Происходит в два этапа, вначале необходимо убрать файл из индекса, следом вернуть в исходное состояние.
# убрать файл из индекса
git restore --staged <file_name>
# вернуть в исходное состояние
git restore <file_name>
Посмотрим какие ветки существуют.
git branch -a
Переключится на ветку, от которой хотим отпочковаться.
git checkout <name_branch>
Создадим новую ветку.
git branch <name_new_branch>
Переключимся на новую ветку.
git checkout <name_new_branch>
Отправим ветку на сервер. После этого можно отправлять коммиты как обычно, просто вводя команду git push.
git push -u origin <name_new_branch>
-
Заходим в репозиторий на сайте.
-
Переходим в список веток
n branch. -
Переходим в раздел
Active. -
Напратив названия ветки нажимаем на кнопку
New pull requestи делаем merge. -
После merge удаляем ветку (смотрим в том же меню, где делали merge).
-
Переходим в локальный репозиторий и обновляем изменения
git pull
Почистим ветки в локальном репозитории.
- Переключимся на основную ветку.
git checkout main
- Удалить удаленное отслеживание, если ветки нет на удаленном репо.
git remote prune origin
- Удаляем локальные ветки, они двух видов
<name_branch>иremotes/origin/<name_branch>.
git branch -D <name_branch>
git branch -D remotes/origin/<name_branch>
- Обновляем локальную версию.
git pull