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