Есть ли способ перечислить git-репозитории в терминале? - PullRequest
12 голосов
/ 24 февраля 2011

В моей системе есть несколько репозиториев git, и я хочу перечислить их все в терминале.

Я ищу что-то вроде этого:

/ path / to / my / git / repo / 1 / REPONAME1
/ path / to / my / git / repo / 2 / REPONAME2
/ путь / к / моему / git / repo / 3 / REPONAME3

Если вы можете придумать, как показать название филиала и статус репо, например. [master] c: 0 u: 1 d: 0, это было бы здорово.

Ответы [ 3 ]

9 голосов
/ 24 февраля 2011

Чтобы получить список всех репозиториев git, имеющихся в вашей системе, вы можете запустить следующую команду в терминале оболочки bash (в командной строке) и найти их.

find / -name .git -type d -exec dirname {} \;
5 голосов
/ 12 ноября 2012

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

locate -br '\.git$' | rev | cut -c 6- | rev
3 голосов
/ 02 мая 2012

lsgit - это скрипт, который делает это.По сути, это обертка вокруг locate -br '^HEAD$'.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...