Gerenciar vários repositórios git do magit

14

Estou mantendo vários repositórios git usando magit, e seus números continuam crescendo. Existe uma maneira de informar o magit de todos esses projetos para que um único comando apresente um resumo do status de cada um em vez de executar manualmente magit-statusem cada um deles?

wilk
fonte
Thomas Frössman mencionou que implementou algo parecido com isto: magit-multi-status.el
npostavs

Respostas:

17

Existe uma maneira de informar o magit da lista de todos esses projetos ...

Sim, veja magit-repository-directoriese magit-repository-directories-depth.

... para que um único comando apresente um resumo do status de cada um

Na época em que essa pergunta foi feita, esse comando não existia, mas agora existe. Experimente M-x magit-list-repositoriese consulte a documentação : ( https://magit.vc/manual/magit/Repository-List.html ).


Você também pode listar todos os submódulos de um super repositório de maneira semelhante usando M-x magit-list-submodules. Ou você pode mostrar algumas dessas informações diretamente no buffer de status usando:

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

Todos os módulos são listados em uma seção separada. Módulos com alterações são listados como de costume em Alterações em etapas e Alterações em etapas . RETem qualquer um desses módulos mostra o buffer de status para esse repositório e o qleva de volta ao buffer de status do super-repositório.

Os submódulos podem ser buscados usando f m.

tarso
fonte
Obrigado, os submódulos parecem o caminho a percorrer. Devo clonar meus vários repositórios git neste novo super projeto (e passar por uma configuração tediosa para cada um) ou posso simplesmente mover os diretórios em um diretório comum e depois declarar cada um como um submódulo?
Wilk
Você poderia mvusar os repositórios, mas ainda precisaria de git submodule add git://<module> <module>cada um deles, mas isso pelo menos é melhor do que ter que configurar todos os controles remotos e ramificações novamente.
tarsius
Parece ser <kbd> fm <kbd> em vez de <kbd> Fm <kbd> para localizar sub-módulos.
Wilk
2

Tendo sentido uma necessidade semelhante de gerenciar vários repositórios git simultaneamente, tentei encontrar uma solução: https://github.com/luismbo/multi-magit .

Luís Oliveira
fonte