git help git help <command>
Создать файл .gitignore в каталоге проекта и перечислить файлы, каталоги ключевыми фразами
git config --global user.name "Your Name" git config --global user.email "Your e-mail"
git config --global core.editor "<path-editor>"
git init
git status
Если файл индексируется
git update-index --chmod=+x <file>
Если добавляем файл первый раз
git add --chmod=+x <file>
git show
Просмотр кратко
git show --quiet
Просмотр предыдущих Commit
git show HEAD~ git show HEAD~~~ git show HEAD~3
git log git log <name-branch>
Просмотр списком
git log --oneline git log <name-branch> --oneline
git reflog git reflog <name-branch> git reflog --date=iso cat ./git/logs/<file>
Если файл удален, убрать его из индексации аналогичным способом
git add <file>
git add .
git add -A
git reset HEAD <file>
git add -p <file>
Фиксация проекта в репозитории Git
git commit -m "Message"
Указать автора (стороннего) commit
git commit -m "Message" --author="Autor Name <Autor-Email>"
git commit -C ORIG_HEAD
Откроет редактор для правки комментария
git commit -c ORIG_HEAD
git commit --amend
Способ подходит для небольших изменений (кроме не отслеживаемых файлов Git-ом)
git commit -am "Message"
git commit -m "Message" <file>
git rm <file> git rm -r <name-dir>
Удалить игнорируя предупреждения
git rm -f <file> git rm -r -f <name-dir>
git rm --cached <file> git rm -r --cached <name-dir>
git mv <old-name-file> <new-name-file>
git branch
Просмотр ветки с информацией о Commit
git branch -v
git branch <new-name-branch>
Создать и переключиться на новую ветку
git branch -b <new-name-branch>
git branch -f <name-branch> <hash-commit> git branch -f <name-branch> <name-branch>
git branch -f master ORIG_HEAD
Удаление произойдет если слияние было успешно
git branch -d <name-branch>
Удаление ветки с изменениями (Commit)
git branch -D <name-branch>
Переключает HEAD
git checkout <name-branch>
С потерей правок
git checkout -f <name-branch>
git checkout -b <new-name-branch>
Переключение на последний Commit
git checkout -f HEAD
git checkout -B <name-branch> <hash-commit>
git checkout <hash-commit/name-branch/HEAD> <file1> <file2>
git checkout -
Если требуется переключиться на другую ветку, но Commit не готов
git stash
Вернуться в исходное состояние (главное вернуться на ту ветку где был сделан архив)
git stash pop
Добавить изменения из другой ветки в текущую
git merge <name-branch>
История
git reflog master
Изменения записываются в файл:
cat ./git/ORIG_HEAD
Со временем удаленные commit удалятся
git reset --hard @~ git reset --hard <hash-commit>
git reset --hard ORIG_HEAD
Отменяет commit, но оставляет изменения
git reset --soft @~
Используется по умолчанию
git reset --mixed @~ git reset @~
Сброс индексации в текущем commit
git reset HEAD
Убрать файл из индексации
git reset <file>