Управление несколькими git-репозиториями из magit

14

Я поддерживаю несколько git-репозиториев, использующих magit, и их количество продолжает расти. Есть ли способ информировать magit обо всех этих проектах, чтобы одна команда представляла сводку состояния каждого из них, вместо того, чтобы вручную запускать magit-statusкаждый из них?

Wilk
источник
Томас Фрессман упомянул, что он реализовал нечто подобное: magit-multi-status.el
npostavs

Ответы:

17

Есть ли способ сообщить magit о списке всех этих проектов ...

Да смотри magit-repository-directoriesи magit-repository-directories-depth.

... так, чтобы одна команда представляла сводку статуса каждого

В тот момент, когда задавался этот вопрос, такой команды не существовало, но сейчас она существует. Попробуйте M-x magit-list-repositoriesпросмотреть документацию : ( https://magit.vc/manual/magit/Repository-List.html ).


Вы также можете перечислить все подмодули супер-хранилища аналогичным образом, используя M-x magit-list-submodules. Или вы можете показать часть этой информации прямо в буфере состояния, используя:

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

Тогда все модули перечислены в отдельном разделе. Модули с изменениями перечислены как обычно в поэтапных изменениях и не поэтапных изменениях . RETв любом из этих модулей отображается буфер состояния для этого репозитория и qвы возвращаетесь в буфер состояния супер-хранилища.

Подмодули можно получить с помощью f m.

Tarsius
источник
Спасибо, субмодули, кажется, путь. Должен ли я клонировать свои различные git-репозитории в этом новом супер-проекте (и пройти через некоторые утомительные настройки для каждого из них) или я могу просто переместить каталоги в общий и затем объявить каждый как подмодуль?
Wilk
Вы можете mvиспользовать репозитории, но тогда вам все равно придется пользоваться git submodule add git://<module> <module>каждым из них, но это, по крайней мере, лучше, чем повторная настройка всех пультов и филиалов.
Tarsius
Похоже, что <kbd> f m <kbd> вместо <kbd> F m <kbd> для выбора подмодулей.
Wilk
2

Почувствовав аналогичную необходимость одновременного управления несколькими git-репозиториями, я попытался найти решение: https://github.com/luismbo/multi-magit .

Луис Оливейра
источник