Шпаргалка по командам Git

Git записывает изменения файлов как серию коммитов в репозитории. Эти команды охватывают ежедневный цикл: создание репозитория, сохранение работы, ветвление, слияние и обмен с удалённым. Держите шпаргалку открытой во время учёбы.

Обновлено:

КомандаНазначение
git initCreate a new, empty Git repository in the current directory.
git cloneDownload a remote repository and its full history to your machine.
git statusShow changed, staged and untracked files in the working tree.
git addStage changes (files) to be included in the next commit.
git commitRecord staged changes as a new commit with a message.
git logDisplay the commit history of the repository.
git diffShow unstaged or staged differences between states.
git branchList, create or delete branches in the repository.
git checkout / switchSwitch branches or restore files (switch is the modern command).
git mergeJoin another branch's history into the current branch.
git rebaseReapply commits on top of another base commit, rewriting history.
git pullFetch from a remote and merge the changes into the current branch.
git pushUpload local commits to a remote repository.
git stashTemporarily shelve uncommitted changes to reapply later.
git remoteManage the set of remote repositories you track.

Примечания

Частые вопросы

В чём разница между merge и rebase?
Merge объединяет истории новым коммитом с двумя родителями. Rebase воспроизводит ваши коммиты поверх другой ветки, давая линейную историю, но переписывает ID коммитов.
Как отменить коммит?
Используйте 'git revert <коммит>', чтобы добавить новый коммит, отменяющий изменение (безопасно, общая история). 'git reset' переписывает историю и не должен использоваться на общих ветках.
Чем отличаются git pull и git fetch?
Fetch загружает коммиты и ссылки из удалённого, не трогая рабочую область. Pull делает fetch, а затем сливает или делает rebase этих изменений в текущую ветку.
Когда использовать git stash?
Stash временно откладывает незакоммиченные изменения, чтобы вы могли переключить ветку или сделать чистый pull, а потом восстановить их командой 'git stash pop'.