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