Git - одна из самых популярных доступных систем контроля версий, разработанная создателем Linux Линусом Торвальдсом. Она используется как в частных системах, так и на общедоступных веб-сайтах для всех видов разработки. Независимо от того, насколько вы опытны в работе с Git, всегда есть возможности для открытия чего то нового. Вот 5 примеров, которые могут изменить способ работы с этой системой.

1. Копирование одного файла из другой ветки 

Во время работы может случиться так, что мы удалим файл или внесем в него путаницу, и мы захотим начать с самого начала. Также может случиться так, что при работе с определенной веткой мы понимаем, что нам нужен файл из другой ветки. Эта команда поможет нам получить файл из другой ветки:

git checkout release_15.5.3 -- projects/test/src/feature-1.component.ts

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

git checkout 2657d3e -- projects/test/src/feature-2.component.ts

Вместо одного файла мы также можем загрузить весь каталог, указав путь к нему. Обратите внимание, что все пути являются относительными, поэтому, если вы не находитесь в корне репозитория, вы должны указать относительный путь к своим файлам.

2. Исправление последнего сообщения о фиксации.

В повседневной работе иногда случается, что описание, которое мы помещаем в коммит, слишком лаконично и мы хотим его дополнить, или мы решаем, что его нужно полностью изменить. Иногда мы забываем о важном изменении, которое не было включено в коммит, и не хотели бы делать для него отдельный коммит. Тогда на помощь приходит команда:

git commit --amend

3. Отображение истории без коммитов слияния (мержей).

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

git log --oneline --no-merges

Однако следует помнить, что коммиты слиянием являются важной частью истории нашего проекта и не должны пропускаться в рабочем процессе.

4. Найдите коммит, содержащую ключевое слово.

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

git log -S "Release"

commit dcae425d31b852a90593d999bc0e57db448b0c5a
Author: pavel-zlotarenchuk
Date:   Wed Mar 3 20:56:08 2021 +0300

5. Избавьтесь от всех не отслеживаемых изменений.

Если мы создадим новый файл, которого раньше не было в истории git, мы сделаем так называемый не утвержденное изменение. Чтобы git начал отслеживать этот файл, его нужно поместить в репозиторий (зафиксировать). Бывает, что на полпути работы мы меняем концепцию и хотим избавиться от всех не отслеживаемых файлов и начать все сначала. Ваша первая мысль будет использовать git checkout, но эта команда удалит только изменения в отслеживаемых файлах, а все остальное останется. На помощь приходит следующая команда:

git clean -f -d

Резюмируя

Git - это инструмент, в котором есть множество хитростей, облегчающих нашу повседневную работу. Приведенный выше список ни в коем случае не является исчерпывающим или полным, это только неочевидные но полезные команды которые я обнаружил не сразу и которые неоднократно упростили мою работу.