Основные команды GIT шпаргалка

Небольшая заметка по основным командам GIT. Не смотря на огромный выбор десктопных клиентов и фич для IDE они частенько глючат, а консоль всегда исправно отрабатывает команды. Поэтому будь то новичок или профи я бы   советовал использовать консоль, тем более в IDEA давно  уже встроена консоль доступная в 1 клик.

Создать новый репозиторий:


Если вы планируете клонировать его по ssh с удаленной машины, также скажите:


 

… иначе при git push вы будете получать странные ошибки вроде:

Refusing to update checked out branch: refs/heads/master
By default, updating the current branch in a non-bare repository
is denied, because it will make the index and work tree inconsistent
with what you pushed, and will require ‘git reset —hard’ to match
the work tree to HEAD.

Клонировать репозиторий с удаленной машины:


Если хотим пушить один код в несколько репозиториев:


Добавить файл в репозиторий:


Удалить файл:


Текущее состояние репозитория (изменения, неразрешенные конфликты и тп):


Сделать коммит:


Сделать коммит, введя его описание с помощью $EDITOR:


Замержить все ветки локального репозитория на удаленный репозиторий (аналогично вместо origin можно указать и remotename, см выше):


Аналогично предыдущему, но делается пуш только ветки master:


Запушить текущую ветку, не вводя целиком ее название:


Замержить все ветки с удаленного репозитория:


Аналогично предыдущему, но накатывается только ветка master:


Накатить текущую ветку, не вводя ее длинное имя:


Скачать все ветки с origin, но не мержить их в локальный репозиторий:


Аналогично предыдущему, но только для одной заданной ветки:


Начать работать с веткой some_branch (уже существующей):


Создать новый бранч (ответвится от текущего):


Переключиться на другую ветку (из тех, с которыми уже работаем):


Получаем список веток, с которыми работаем:


Просмотреть все существующие ветви:


Замержить some_branch в текущую ветку:


Удалить бранч (после мержа):


Просто удалить бранч (тупиковая ветвь):


История изменений:


История изменений в обратном порядке:


История конкретного файла:


Аналогично предыдущему, но с просмотром сделанных изменений:


История с именами файлов и псевдографическим изображением бранчей:


Изменения, сделанные в заданном коммите:


Посмотреть, кем в последний раз правилась каждая строка файла:


Удалить бранч из репозитория на сервере:


Откатиться к конкретному коммиту (хэш смотрим в «git log»):


Аналогично предыдущему, но файлы на диске остаются без изменений:


Попытаться обратить заданный commit (но чаще используется branch/reset + merge):


Просмотр изменений (суммарных, а не всех по очереди, как в «git log»):


Используем vimdiff в качестве программы для разрешения конфликтов (mergetool) по умолчанию:


Отключаем диалог «какой mergetool вы хотели бы использовать»:


Отображаем табы как 4 пробела, например, в «git diff»:


Создание глобального файла .gitignore:


Разрешение конфликтов (когда оные возникают в результате мержа):


Создание тэга:


Удаление untracked files:


«Упаковка» репозитория для увеличения скорости работы с ним:


Иногда требуется создать копию репозитория или перенести его с одной машины на другую. Это делается примерно так:


Следует отметить, что Git позволяет использовать короткую запись хэшей. Вместо «d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4» можно писать «d8578edf» или даже «d857».

Подписаться
Уведомлять о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x