Zarządzaj kilkoma repozytoriami git z Magit

14

Prowadzę kilka repozytoriów git za pomocą magit, a ich liczba ciągle rośnie. Czy istnieje sposób na poinformowanie magit o wszystkich tych projektach, aby jedno polecenie wyświetlało podsumowanie statusu każdego z nich zamiast ręcznie uruchamiane magit-statusna każdym z nich?

wilk
źródło
Thomas Frössman wspomniał, że zaimplementował coś takiego: magit-multi-status.el
npostavs

Odpowiedzi:

17

Czy istnieje sposób na poinformowanie magit o liście wszystkich tych projektów ...

Tak, patrz magit-repository-directoriesi magit-repository-directories-depth.

... tak, aby pojedyncze polecenie zawierało podsumowanie statusu każdego z nich

W chwili, gdy zadano pytanie, takie polecenie nie istniało, ale teraz tak jest. Spróbuj M-x magit-list-repositorieszapoznać się z dokumentacją : ( https://magit.vc/manual/magit/Repository-List.html ).


Możesz również wyświetlić listę wszystkich podmodułów super-repozytorium w podobny sposób, używając M-x magit-list-submodules. Możesz też wyświetlić niektóre z tych informacji bezpośrednio w buforze stanu, używając:

(magit-add-section-hook 'magit-status-sections-hook
                        'magit-insert-modules
                        'magit-insert-unpulled-from-pushremote)

Następnie wszystkie moduły są wymienione w osobnej sekcji. Moduły ze zmianami są jak zwykle wymienione w Zmianach etapowych i Zmianach etapowych . RETna każdym z tych modułów pokazuje bufor stanu dla tego repozytorium i qzabiera cię z powrotem do bufora statusu super-repozytorium.

Podmoduły można pobrać za pomocą f m.

Tarsjusz
źródło
Dzięki, submoduły wydają się być właściwą drogą. Czy powinienem sklonować swoje różne repozytorium git w tym nowym super-projekcie (i przejść przez jakąś żmudną konfigurację dla każdego z nich) czy mogę po prostu przenieść katalogi do wspólnego, a następnie zadeklarować każdy z nich jako podmoduł?
wilk
Możesz zrobić mvrepozytoria, ale nadal będziesz musiał do git submodule add git://<module> <module>każdego z nich, ale to przynajmniej jest lepsze niż konieczność ponownego konfigurowania wszystkich pilotów i gałęzi.
tarsjusz
Wydaje się, że <kbd> fm <kbd> zamiast <kbd> Fm <kbd> dla podmodułów.
wilk
2

Czując podobną potrzebę zarządzania wieloma repozytoriami git jednocześnie, próbowałem znaleźć rozwiązanie: https://github.com/luismbo/multi-magit .

Luís Oliveira
źródło