Популярные команды Git

В ходе работы часто приходится использовать разные команды git. Здесь список наиболее часто используемых мной команд.

Если Вам необходимо посмотреть историю коммитов в текущей ветке:

Когда нужно отменить все изменения до какого-то конкретного коммита:

в данном случае commit_hash тот коммит, к которому нужно откатиться.

Откат означает потерю всех ваших изменений после того коммита, к которому вы откатились!

Отменить самый последний коммит (при этом создается новый коммит, который фиксирует отмену предыдущего)

Также, бывает случаи когда вы сделали коммит не в той ветке. Перенести его в нужную ветку достаточно просто (перенос коммита в текущую ветку):

При переносе коммита в новую ветку, в старой создается коммит об этом переносе

Чтобы переименовать последний коммит:

Иногда бывают случаи когда необходимо перестать индексировать файл:

Такой же трюк можно проделать и для всей папки рекурсивно:

А вот, если необходимо удалить файл или директорию, то следует выполнить предыдущие команды, но без флага --cached

После физического удаления или удаления из индекса, необходимо создать коммит, чтобы зафиксировать изменения!

Когда вы отработали в какой-то ветке и в ней больше не нуждаетесь, ее надо удалять. Чтобы сделать это локально:

И удалить ветку из удаленного репозитория

Если Вы работаете с подмодулями (submodule), то иногда нужно поменять ветку у подмодуля. Делается это так:

Другому разработчику достаточно будет выполнить команду

и он получит коммит, который указывает на новую ветку.

Иногда приходится работать с несколькими конфигами гита. Как вариант: один конфиг устанавливаете глобально для всех проектов:

а далее, если необходимо поменять конфиг для конкретного проекта, в папке с этим проектом выполняем предыдущую команду но без флага --global:

Чтобы переместить файл из одной директории в другую, следует выполнить команду: