В этом посте я покажу вам, как я быстро перескакиваю по веткам в git.

Для большинства из вас переход по веткам может даже не быть проблемой, потому что ввод git checkout и нажатие Tab может автоматически завершить его. Но если вы работаете над большими репозиториями, в которых участвуют сотни людей, это может привести к путанице.

Итак, я собираюсь показать вам быстрый хак, который я придумал, используя инструмент «fzf», чтобы сделать это намного проще.

Если вы предпочитаете потреблять контент через видео, посмотрите это (или продолжите чтение):

Что такое ФЗФ

fzf — это нечеткий поиск командной строки общего назначения.

Fzf — это инструмент командной строки с открытым исходным кодом для нечеткого поиска в любом списке в системе. Запуск fzf для списка позволит вам выполнять поиск по списку, вводя буквы, соответствующие определенному элементу в списке. По мере ввода список будет фильтроваться в соответствии с введенным текстом.

Об этом подробнее здесь"

Простым примером использования fzf может быть использование команды ls в Linux. После того, как вы установили fzf, выполните следующую команду в каталоге, где много файлов.

$ ls | fzf

Это позволит вам выполнять нечеткий поиск по файлам, присутствующим в текущем каталоге. Когда вы выбираете элемент в списке и нажимаете Enter. Это имя элемента будет возвращено в качестве вывода. Таким образом, вы можете использовать это в сочетании с любой другой командой. Пример:

$ cd `find . -type d | fzf`

Мы можем использовать ту же технику для списка веток в репозитории git.

Ищем свое отделение

Поскольку fzf использует список для поиска, нам нужно получить список веток, присутствующих в репо. Мы можем получить это с помощью команды git branch. Затем, как и выше, мы можем направить вывод в fzf.

$ git branch | fzf 

Это позволит вам осуществлять поиск по вашим веткам. Теперь вам нужно оформить заказ в этой конкретной ветке. Для этого вы можете использовать вывод в git checkout

$ git checkout `git branch | fzf`

Когда вы запустите это и выберете ветку, она также выполнит проверку в этой ветке.

Сделать это псевдонимом

Теперь вы можете сохранить эту команду как псевдоним в профиле вашей оболочки, чтобы вам не приходилось постоянно вводить ее целиком. Вы можете использовать псевдоним gco в bashrc/zshrc/.. :

alias gco="git checkout `git branch | fzf`"

Теперь вы можете запустить эту команду, просто набрав gco. Поздравляем! теперь ты тоже ниндзя :P

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