Создание репозитория# 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
- создать новый тег tagname
git 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
- получить изменения из удаленного репозитория без их слияния с локальной веткой