438 July 20, 2023, 12:08 p.m.

Команды для работы с Git.

Задача: составить список полезных команд для использования Git.

Указазать глобальные переменные с именем и мейлом чтобы отслежить кто что сделал

Заставить гит следить за версиями

git init . 

Для отслеживания изменений

git status

Подготовка к коммиту

git add *  ИЛИ название конкрентного

Для коммита

git commit -m "My initial commit"

История всех коммитов

git log
git log --pretty=oneline
git log -1 (последний коммит)
git log -1 -p (детализация коммита)

Посмотреть разницу между stage и последним коммитом

git diff --staged

Для игнорирования файлов создаётся файл .gitignore В каждой новой строке указывать файл и папки. Можно использовать маски.

Возврат файла в предидущее состояние:

git checkout -- file1.txt

Для отправки коммита в Git

git push origin

Для просмотра подключенных ссылок на репозитории

git remote -v

Для измения ссылки, например с HTTPS на SSH:

git remote set-url origin

Показать ветки:

git branch

Поздать ветку:

git branch

Перейти на ветку:

git checkout

Удалить ветку:

git branch -d если удалить ветку без merge то нужна -D

Создать ветку и перейти в неё:

git checkput -b

Объединение веток:

git merge из мастера

Вернутся на предидущую версию:

git commit

Вернуться на последнюю версию:

git checkout master

Изменение коммита без добавления:

git commit --amend

Удаления последних 2 коммитов:

git reset --hard HEAD~2

Удаление всех предидущих коммитов, кроме последнего:

git reset --soft HEAD~3

Копирование в удаленный репозитори и создание ветки, если она отсутсвует:

git push --set-upstream origin

Удаление ветки на удалённом репозитории:

git push origin --delete

Присваивание тэга, после создания коммита:

git tag v1.0.0
git push origin v1.0.0

Важно: Тэги, как правило, ставят на главную ветку.

Удаление тэга:

git tag -d - локально
git push origin --delete

Переход к версии по тэгу:

git checkout

Добавить тэг на определённый коммит:

git tag -a

Добавить все тэги:

git push origin --tags

Удалить локальные теги

git tag -l | xargs git tag -d

Сбор удаленных тегов

git fetch

Удаление тегов в удаленном репозитории

git tag -l | xargs -n 1 git push --delete origin

Удаление локальных тегов

git tag -l | xargs git tag -d