จัดการที่เก็บหลาย git จาก magit


14

ฉันกำลังเก็บที่เก็บ git หลายแห่งโดยใช้ magit และตัวเลขของพวกเขาก็เพิ่มขึ้นเรื่อย ๆ มีวิธีแจ้ง magit ของโครงการเหล่านี้ทั้งหมดหรือไม่เพื่อที่คำสั่งเดียวจะแสดงสรุปสถานะของแต่ละรายการแทนที่จะเรียกใช้ด้วยตนเองmagit-statusในแต่ละโครงการ


Thomas Frössmanกล่าวว่าเขาใช้สิ่งนี้: magit-multi-status.el
npostavs

คำตอบ:


17

มีวิธีการแจ้ง magit ของรายการของโครงการทั้งหมดเหล่านี้ ...

ใช่เห็นและmagit-repository-directoriesmagit-repository-directories-depth

... เพื่อที่คำสั่งเดียวจะแสดงสรุปสถานะของแต่ละคำสั่ง

ในเวลาที่คำถามนี้ถูกถามคำสั่งดังกล่าวไม่ได้อยู่ แต่ตอนนี้มันจะ ลองM-x magit-list-repositoriesและดูเอกสารประกอบ : ( https://magit.vc/manual/magit/Repository-List.html )


นอกจากนี้คุณยังสามารถแสดงรายการ submodules M-x magit-list-submodulesทั้งหมดของซุปเปอร์พื้นที่เก็บข้อมูลในรูปแบบคล้ายกันโดยใช้ หรือคุณสามารถแสดงข้อมูลบางส่วนนั้นโดยตรงในบัฟเฟอร์สถานะโดยใช้:

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

จากนั้นโมดูลทั้งหมดจะแสดงรายการในส่วนที่แยกต่างหาก โมดูลที่มีการเปลี่ยนแปลงมีการระบุไว้ตามปกติในการเปลี่ยนแปลงฉากและการเปลี่ยนแปลง unstaged RETบนโมดูลใด ๆ เหล่านี้แสดงบัฟเฟอร์สถานะสำหรับที่เก็บนั้นและqนำคุณกลับไปที่บัฟเฟอร์สถานะของที่เก็บซุปเปอร์

submodules f mสามารถดึงข้อมูลโดยใช้


ขอบคุณ submodules ดูเหมือนจะเป็นวิธีที่จะไป ฉันควรโคลน repos git ต่างๆของฉันใน super-project ใหม่นี้ (และผ่านการกำหนดค่าที่น่าเบื่อบางอย่างสำหรับแต่ละคน) หรือฉันสามารถย้ายไดเรกทอรีในไดเรกทอรีทั่วไปแล้วประกาศเป็น submodule ได้หรือไม่
wilk

คุณสามารถmvที่เก็บได้ แต่จากนั้นคุณก็ยังคงต้องทำgit submodule add git://<module> <module>แต่ละอัน แต่อย่างน้อยก็ดีกว่าต้องตั้งค่ารีโมตและสาขาทั้งหมดอีกครั้ง
Tarsius

ดูเหมือนว่า <kbd> f m <kbd> แทนที่จะเป็น <kbd> F m <kbd> ถึง fech submodules
wilk

2

ต้องรู้สึกว่ามีความจำเป็นที่คล้ายกันในการบริหารจัดการที่เก็บ Git หลายคนพร้อมกันนี้ผมได้พยายามที่จะเกิดขึ้นกับการแก้ปัญหา: https://github.com/luismbo/multi-magit

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.