Git Cheat Sheet

В данной статье собраны команды git, что мне приходится использовать повседневно. Ранее я собирал эти кусочки знаний по блокнотам и заметкам, но пришло время собрать всё в одном месте.

Общее

# Вывести лог кратко
git log —oneline --graph -n 20
Комит с описанием
git commit -m "<title>" -m "<description>"

Отмены

# Отменить git add для файла
git reset <file_name>
# Отменить изменения файла
git checkout -- <file_name>
# Отменить все изменения
git reset --hard
# Отменить коммиты до мастера, сохранив изменения
git reset HEAD^
# Удалить файл из истории
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch <path_to_file>" HEADgit push --force

Ветки

# Удалить локальную ветку
git branch -d feature/login
# Удалить remote ветку
git push --delete <remote_name> <branch_name>
# Обновить список удалённых веток
git remote update origin --prune
# Сделать мердж сохранив ветку снаружи
git checkout mastergit merge --no-ff

Подмодули

# Сделать mirror репозитория
git clone <url> -b <tag> --depth 1
cd <repo>
git fetch --unshallow origin
git remote add <remote_name> <url>
git push <remote_name>
# Добавить submodule c определённым branch/tag
git submodule add -b <branch_name> <url> <path_to>

Материалы по теме

  1. https://www.atlassian.com/git/tutorials/setting-up-a-repository
  2. https://nvie.com/posts/a-successful-git-branching-model/
  3. https://readwrite.com/2013/10/02/github-for-beginners-part-2
  4. https://www.atlassian.com/git/tutorials/comparing-workflows#!workflow-gitflow