2 июл. 2015 г.

Команды GIT

Основные команды


* git status - посмотреть изменения

* git add . - добавить все изменения к коммиту и git начинает их отслеживать

* git add -all - тоже самое, только добавляет еще и новые, не отслеживаемые файлы

* git commit - описание изменений

* git pull - подтягивает изменения с сервера и мерджит их

* git pull --rebase - с флагом "rebase" можно избежать мерджа при стягивании изменений. То есть, ваши последние локальные коммиты перенесутся наверх и уродливый коммит с мерджем создан не будет

* git push - постит изменения на сервер


Работа с ветками

* git checkout branch1 - переход на ветку branch1

* git merge branch2 - слияние текущей ветки с branch2

* git branch - посмотреть список веток, текущая будет отмечена звездочкой

* git branch -a - посмотреть список всех веток (локальных и remote)

* git checkout -b new_branch_name - создать ветку и перейти на неё

* git checkout -b <имя новой локальной ветки> <имя соединения/имя удаленной ветки> - создать локальную ветку, как копию удаленной (remote) ветки

* git push <remote_name> <new_branch_name> - запушить новую ветку на сервер

* git branch -d <branch_name> - удалить локальную ветку. Удалится в том случае, если все ее коммиты были слиты с другой веткой (коммиты не потеряются). Чтобы удалить ветку в любом случае нужно использовать "-D" вместо "-d".

* git push <remote_name> :<branch_name> - удалить remote ветку

* git mergetool - инструмент для удобного слияния в случае конфликтов

Общее

* gitk - графическое отображение коммитов (здесь же можно посмотреть текущие изменения с предыдущими коммитами, тоже что и команда git diff)

* git commit --amend - добавляет коммит в последний коммит (не создавая нового). Перед этим можно добавить файлы (git add .) или один файл (git add filename)

* git reset - перевести все файлы со staged в unstaged (отменить команду git add)

* git reset --hard HEAD - отменить все изменения в файлах, то есть сделать их такими, какими они были на момент последнего коммита. Вместо HEAD можно указать хеш любого другого коммита

* git checkout HEAD -- filename.txt - тоже самое, что git reset --hard HEAD, только для одного файла

* git rebase -i HEAD~2 - этим можно изменить комментарий предпоследнего коммита и еще много чего (не использовать, если уже запушено на сервер)

* git cherry-pick <хеш_коммита_который_переносим> - переносит коммит с одной ветки в другую. Для этого сначала перейти на ветку, куда нужно перенести коммит, а потом применить комманду.


Комментариев нет:

Отправить комментарий

Спрашивайте, критикуйте, оставьте свое мнение