Создание репозитория# git init - инициализирует папку как гит репозиторийgit add --all, git add . - отмечает файлы к коммитуgit commit -m "commit message" - создает коммит с отмеченными файлами, с сообщениемgit remote add <name> <url> - указывает удаленный гит-репозиторий под именем (обычно origin)git push -u origin master - отправляет в origin ветку master, -u указывает на то, что это сочетание должно стать
значением по умолчанию (и далее можно делать git push без указания целей)Работа с локальными изменениями# git status - показывает текущее состояние рабочей директории и индексаgit log - выводит историю коммитовgit log -p <file> - показывает историю коммитов для файлаgit blame <file> - выводит построчно файл с показом коммита и автора измененийОтмена изменений# git reset --hard или git reset --hard HEAD - удаляет локальные изменения, восстанавливая рабочую директорию к последнему коммиту (голове)git checkout HEAD <file> - отменяет изменения в выбранном файле, восстанавливая его к хэдуgit revert <HASH> - создает новый коммит, отменяющий изменения из указанного коммитаgit reset --soft - сбрасывает историю до последнего локального коммита без изменения рабочей директории и индексаВетвление и Слияние# git checkout -b <branch_name> - создает новую ветку и переключается на нееgit checkout <branch_name> - переключается на веткуgit merge <branch_name> - сливает указанную ветку в текущую веткуПрятание# git stash - спрятать все локальные измененияgit stash list - показать список спрятанных измененийgit stash apply - применить/вернуть последние спрятанные измененияgit stash pop - применить последние спрятанные изменения и удалить их из спискаgit stash drop - удалить последние спрятанные измененияТеги# git tag tagname - создать новый тег tagnamegit tag - вывести список теговgit push origin tagname - отправить в удаленный origin указанный тегgit push --tags - отправить все тегиgit tag -D tagname - удалить тег локальноgit push --delete origin tagname - удалить в удаленном origin указанный тегСравнение изменений# git diff - показать изменения между текущей рабочей папкой и индексомgit diff HEAD - показать изменения между рабочей папкой и последним коммитомУправление ветками# git branch -d <branch> - удалить локальную ветку, если она была слита в другуюgit branch -D <branch> - удалить локальную ветку, невзирая слита ли была она или нетУправление удаленными репозиториями# git remote -v - показать список удаленных репозиториевgit remote add <name> <url> - добавить удаленный репозиторий с именем <name> и адресом <url>git remote set-url <name> <url> - изменить <url> существующего удаленного репозитория с именем <name>git remote remove <name> - удалить удаленный репозиторий с именем <name>git fetch - получить изменения из удаленного репозитория без их слияния с локальной веткой