Керуйте кількома сховищами git від magit


14

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


Томас Фрьоссман зазначив, що реалізував щось подібне: magit-multi-status.el
npostavs

Відповіді:


17

Чи є спосіб повідомити перелік усіх цих проектів ...

Так, дивіться 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.


Дякую, підмодулі здаються дорогою. Чи повинен я клонувати різні свої git repos у цьому новому суперпроекті (і пройти певну нудну конфігурацію для кожного) або я можу просто перемістити каталоги в загальний, а потім оголосити кожен як підмодуль?
wilk

Ви можете mvзробити сховища, але тоді вам все одно доведеться до git submodule add git://<module> <module>кожного з них, але це, принаймні, краще, ніж знову встановлювати всі віддалені та гілки.
Тарсій

Здається, що <kbd> f m <kbd> замість <kbd> F m <kbd> для підмодулів.
вілк

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.