Kelola beberapa repositori git dari magit

14

Saya mempertahankan beberapa repositori git menggunakan magit, dan jumlahnya terus bertambah. Apakah ada cara untuk memberi tahu magit tentang semua proyek ini sehingga satu perintah akan menyajikan ringkasan status masing-masing alih-alih berjalan secara manual magit-statuspada masing-masing proyek ?

wilk
sumber
Thomas Frössman menyebutkan dia mengimplementasikan sesuatu seperti ini: magit-multi-status.el
npostavs

Jawaban:

17

Apakah ada cara untuk memberi tahu magit tentang daftar semua proyek ini ...

Ya, lihat magit-repository-directoriesdan magit-repository-directories-depth.

... sehingga satu perintah akan menyajikan ringkasan status masing-masing

Pada saat pertanyaan ini diajukan, perintah semacam itu tidak ada, tetapi sekarang sudah. Coba M-x magit-list-repositoriesdan lihat dokumentasi : ( https://magit.vc/manual/magit/Repository-List.html ).


Anda juga dapat membuat daftar semua submodul super-repositori dengan cara yang sama menggunakan M-x magit-list-submodules. Atau Anda dapat menampilkan beberapa informasi itu langsung di buffer status menggunakan:

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

Kemudian semua modul terdaftar di bagian terpisah. Modul dengan perubahan tercantum seperti biasa di perubahan Bertahap dan perubahan tidak bertahap . RETpada salah satu modul ini menunjukkan buffer status untuk repositori itu dan qmembawa Anda kembali ke buffer status super-repositori.

Submodules dapat diambil menggunakan f m.

tarsius
sumber
Terima kasih, submodules sepertinya cara untuk pergi. Haruskah saya mengkloning berbagai git repos saya di super-proyek baru ini (dan pergi melalui beberapa konfigurasi yang membosankan untuk masing-masing) atau bisakah saya memindahkan direktori dalam satu yang umum dan kemudian mendeklarasikan masing-masing sebagai submodule?
wilk
Anda dapat mvmemiliki repositori, tetapi Anda masih harus memiliki git submodule add git://<module> <module>masing - masing repositori, tetapi setidaknya lebih baik daripada harus mengatur semua remote dan cabang lagi.
tarsius
Tampaknya <kbd> fm <kbd> bukan <kbd> F m <kbd> untuk mendapatkan submodul.
wilk
2

Setelah merasakan kebutuhan yang sama untuk mengelola beberapa repositori git secara bersamaan, saya telah mencoba untuk menemukan solusi: https://github.com/luismbo/multi-magit .

Luís Oliveira
sumber