Команды Git
Конфигурация
git config --global user.name "[name]"
– установить имя, которое будет прикрепляться к коммиту.
git config --global user.email "[email address]"
– установить email, который будет прикрепляться к коммиту.
Создание репозиториев
git init [project-name]
– создать новый локальный репозиторий с заданным именем.
git clone [url]
– загрузить проект и его полную историю изменений.
Работа с файлами
git rm [file]
– удалить файл из рабочей директории и добавить в индекс информацию об удалении.
git rm --cached [file]
– удалить файл из репозитория, но сохранить его локально.
Работа с изменениями
git status
– полный список изменений файлов, ожидающих коммита (-s
– краткий вид изменений)
git diff
– показать изменения в файлах, которые еще не были добавлены в индекс коммита (staged).
git add [file]
– сделать указанный файл готовым для коммита.
git add .
– сделать все измененные файлы готовыми для коммита.
git add '*.txt'
– добавить только файлы, соответствующие указанному выражению.
git diff --staged
– показать что было добавленно в индекс с помощью git add
, но еще не было закоммиченно.
git diff HEAD
– показать что изменилось с последнего коммита.
git diff [branch]
– сравнить текущую ветку с заданной.
git difftool -d master..
– показать изменения, сделанные в текущей ветке.
git diff --stat
– показать статистику какие файлы были изменены и как.
git reset [file]
– убрать файлы из индекса коммита (изменения не теряются).
git commit
– записать изменения в репозиторий. для написания сообщения откроется назначенный редактор.
git commit -m "[descriptive message]"
– записать изменения с заданным сообщением.
git commit --amend
– добавить изменения к последнему коммиту.
Работа с ветками
git branch
– список всех локальных веток в текущей директории.
git branch [branch-name]
– создать новую ветку.
git checkout [branch-name]
– переключиться на указанную ветку и обновить рабочую директорию.
git checkout -b <name> <remote>/<branch>
– переключиться на удаленную ветку.
git checkout [filename]
– вернуть файл в первоначальное состояние если он еще не был добавлен в индекс коммита.
git merge [branch]
– соединить изменения в текущей ветке с изменениями из заданной.
git branch -a
– посмотреть полный список локальных и удаленных веток.
git branch -d [branch]
– удалить заданную ветку.
git branch -D [branch]
– принудительно удалить заданную ветку, игнорируя ошибки.
git branch -m <oldname> <newname>
– переименовать ветку.
Просмотр истории
git log
– список изменения текущей ветки.
git log --pretty=format:"%h %s" --graph
– изменение вида отображения истории изменений.
git log --author='Name' --after={1.week.ago} --pretty=oneline --abbrev-commit
– посмотреть над чем работал заданный пользователь последнюю неделю.
git log --no-merges master..
– посмотреть историю изменений только для текущей ветки.
git show [commit]
– показать метадату и изменения в заданном коммите.
git show [branch]:[file]
– посмотреть на файл в другой ветке, не переключаясь на неё.
Отмена коммитов
git reset
– убрать изменения из индекса коммита, сами изменения останутся.
git reset [commit/tag]
– отменить все коммиты после указанного коммита, изменения будут сохранены локально.
git reset --hard [commit]
– принудительно вернутся к указанному коммиту, не сохраняя историю и изменения.
Синхронизация изменений
git fetch [bookmark]
– загрузить всю историю с заданного удаленного репозитория.
git push
– запушить текущую ветку в удаленную ветку.
git push [remote] [branch]
– запушить ветку в указанный репозиторий и удаленную ветку.
git pull
– загрузить историю и изменения удаленной ветки и произвести слияние с текущей веткой.
git pull [remote][branch]
– указать конкретную удаленную ветку для слияния.
git remote
– посмотреть список доступных удаленных репозиториев.
git remote add [remote][url]
– добавить новый удаленный репозиторий.
Last updated