Як шукати назви гілок у Git?


79

Я хотів би знайти конкретну гілку, і я знаю, що її назва міститиме конкретну підрядку (ідентифікатор проблеми з нашого відстежувача помилок), але я не знаю цілої гілки (це те, що я хочу з'ясувати).

Як я можу шукати цю гілку?


привіт =] перевірте посилання ( stackoverflow.com/questions/15292391/… ). це може вам допомогти.
Thaisa Mirely

2
@ThaisaMirely Посилання, яке ви надали, призначене для пошуку у всіх файлах у всіх гілках . Це питання вимагає просто шукати назви гілок .
Стів Чемберс,

Відповіді:



64

Git 1.7.8 пропонує краще рішення без використання grep:

git branch --list <pattern>і в bash git branch --list '<pattern>'з лапками навколо шаблону.

Це також працює з узагальнюючими знаками ( *), тому ви можете використовувати, git branch --list *<id>*щоб знайти свою гілку.

Це фільтрує список назв гілок, що повертаються рештою вашої git branchкоманди (наприклад, локальні гілки лише за замовчуванням, усі гілки з git branch -a --list <pattern>і т.д.).


3
ПРИМІТКА. Тут буде лише список локальних гілок, тобто ви не зможете знайти віддалені гілки за допомогою цієї команди.
Кінаан Хан Шервані

8
Це пояснюється тим, що git branchза замовчуванням перераховуються лише локальні гілки. Використовуйте git branch -rдля віддалених гілок та git branch -aдля всіх гілок.
Calvin Li

3
У bash вам потрібно буде процитувати вираз glob, щоб запобігти його розширенню. Щоб перевірити, спробуйте git checkout -b JIRA-style-test-1 && git branch --list *test*проти git branch --list "*test*". Збігатиметься лише другий JIRA-style-test-1.
Стівен Калт,

1
@Facepalmed Додано до відповіді
Calvin Li

11
git branch -a | grep selector

Або

git branch -r | grep selector

-a показує всі локальні та віддалені гілки, тоді як -r показує лише віддалені гілки.


8

Будуючи відповіді, які дали інші, я додав це до свого .gitconfig

[alias]
  findb = "!f(){ git branch -ra | grep $1; }; f"

Тож у командному рядку я можу вводити текст git findb BUG-123


1
Хоча обидва використовують grep у списку гілок, це краще, ніж прийнята відповідь для частого використання. Дякую.
Саїм

5

Знайдіть назву гілки, де вказано текст

git branch --list *text*

Для Ex- я хочу знайти галузь, у якій є слово "виробництво"

git branch --list *production*

Це так git branch --list <whatever>. Те, що ви написали, не працює, і якщо ви використовуєте його без ключового слова, воно створює гілку з назвою list
jpenna

0

Якщо припустити, що ви використовуєте GitHub, існує розкривний список для ваших гілок, а для тегів у цьому випадаючому меню є область пошуку.

Ви можете використовувати цю область пошуку для пошуку назви вашої гілки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.