Gérez plusieurs référentiels Git depuis Magit

14

Je gère plusieurs référentiels git à l'aide de magit, et leur nombre ne cesse d'augmenter. Existe-t-il un moyen d'informer magit de tous ces projets afin qu'une seule commande présente un résumé de l'état de chacun au lieu de s'exécuter manuellement magit-statussur chacun d'eux?

wilk
la source
Thomas Frössman a mentionné qu'il avait implémenté quelque chose comme ceci: magit-multi-status.el
npostavs

Réponses:

17

Existe-t-il un moyen d'informer magit de la liste de tous ces projets ...

Oui, voyez magit-repository-directorieset magit-repository-directories-depth.

... afin qu'une seule commande présente un résumé de l'état de chacune

Au moment où cette question a été posée, une telle commande n'existait pas, mais maintenant elle existe. Essayez de M-x magit-list-repositoriesvoir la documentation : ( https://magit.vc/manual/magit/Repository-List.html ).


Vous pouvez également répertorier tous les sous-modules d'un super-référentiel de manière similaire à l'aide de M-x magit-list-submodules. Ou vous pouvez afficher certaines de ces informations directement dans le tampon d'état en utilisant:

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

Ensuite, tous les modules sont répertoriés dans une section distincte. Les modules avec des modifications sont répertoriés comme d'habitude dans Modifications par étapes et Modifications non par étapes . RETsur l'un de ces modules affiche le tampon d'état de ce référentiel et qvous ramène au tampon d'état du super-référentiel.

Les sous-modules peuvent être récupérés à l'aide de f m.

tarse
la source
Merci, les sous-modules semblent être la voie à suivre. Dois-je cloner mes divers git repos dans ce nouveau super-projet (et passer par une configuration fastidieuse pour chacun) ou puis-je simplement déplacer les répertoires dans un répertoire commun puis déclarer chacun comme un sous-module?
wilk
Vous pourriez mvles référentiels, mais vous auriez encore à git submodule add git://<module> <module>chacun d'eux, mais c'est au moins mieux que d'avoir à configurer à nouveau toutes les télécommandes et les branches.
tarsius
Il semble être <kbd> f m <kbd> au lieu de <kbd> F m <kbd> pour les sous-modules fech.
wilk
2

Ayant ressenti un besoin similaire de gérer simultanément plusieurs dépôts git, j'ai essayé de trouver une solution: https://github.com/luismbo/multi-magit .

Luís Oliveira
la source