คำถามติดแท็ก git-submodules

โมดูลย่อยอนุญาตให้คุณเก็บที่เก็บ Git เป็นไดเรกทอรีย่อยของที่เก็บ Git อื่น


15
วิธีการ“ git clone” รวมถึง submodules?
ฉันพยายามที่จะใส่ submodule เข้าไปใน repo ปัญหาคือว่าเมื่อฉันโคลน repo ผู้ปกครองโฟลเดอร์ submodule ว่างเปล่าทั้งหมด มีวิธีใดบ้างที่git clone parent_repoจะทำให้ข้อมูลนั้นอยู่ในโฟลเดอร์ submodule ยกตัวอย่างเช่นhttp://github.com/cwolves/sequelize/tree/master/lib/ , nodejs-mysql-nativeชี้ที่ submodule Git ภายนอก แต่เมื่อฉันชำระเงินsequelizeโครงการโฟลเดอร์ที่ว่างเปล่า
1991 git  git-submodules 

18
วิธีที่ง่ายที่สุดในการดึง submodules คอมไพล์ล่าสุด
เรากำลังใช้ submodules git เพื่อจัดการโครงการขนาดใหญ่สองแห่งที่มีการพึ่งพาไลบรารีอื่น ๆ ที่เราได้พัฒนาขึ้น แต่ละห้องสมุดเป็น repo แยกเข้ามาในโครงการขึ้นอยู่กับ submodule ในระหว่างการพัฒนาเรามักจะต้องการเพียงแค่ไปคว้าเวอร์ชันล่าสุดของทุกซับโดเลชั่น คอมไพล์มีคำสั่งในตัวเพื่อทำสิ่งนี้หรือไม่? ถ้าไม่เป็นเช่นนั้นไฟล์แบตช์ของ Windows หรือที่คล้ายกันนั้นสามารถทำได้
1846 git  git-submodules 

13
อัปเดต Git submodule เป็นคอมมิทล่าสุดที่กระทำ
ฉันมีโครงการที่มี submodule Git มันมาจาก URL ของ ssh: // ... และเมื่อส่งมอบแล้ว A. Commit B ถูกส่งไปยัง URL นั้นแล้วและฉันต้องการให้ submodule ทำการดึงข้อมูลคอมมิชชันและเปลี่ยนมัน ตอนนี้ความเข้าใจของฉันคือสิ่งที่git submodule updateควรทำ แต่ก็ไม่เป็นเช่นนั้น มันไม่ได้ทำอะไรเลย (ไม่มีเอาท์พุทรหัสออกจากความสำเร็จ) นี่คือตัวอย่าง: $ mkdir foo $ cd foo $ git init . Initialized empty Git repository in /.../foo/.git/ $ git submodule add ssh://user@host/git/mod mod Cloning into mod... …

12
ฉันจะระบุสาขา / แท็กเมื่อเพิ่ม submodule Git ได้อย่างไร
วิธีการgit submodule add -bทำงานหรือไม่ หลังจากเพิ่ม submodule ด้วยสาขาเฉพาะที่เก็บโคลนใหม่ (หลังจากgit submodule update --init) จะอยู่ที่การกระทำเฉพาะไม่ใช่สาขาเอง ( git statusใน submodule แสดง "ไม่อยู่ในสาขาใด ๆ ") ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับ.gitmodulesหรือ.git/configเกี่ยวกับสาขาของ submodule หรือการกระทำที่เฉพาะเจาะจงดังนั้น Git จะหาได้อย่างไร? นอกจากนี้ยังสามารถระบุแท็กแทนสาขาได้หรือไม่? ฉันใช้เวอร์ชั่น 1.6.5.2

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

28
ฉันจะดึงจากที่เก็บ Git ผ่านพร็อกซี HTTP ได้อย่างไร
หมายเหตุ: ในขณะที่ use-case ที่อธิบายไว้นั้นเกี่ยวกับการใช้ submodules ภายในโครงการเช่นเดียวกันกับที่เก็บปกติgit cloneบน HTTP ฉันมีโครงการภายใต้การควบคุม Git ฉันต้องการเพิ่ม submodule: git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu แต่ฉันได้ ... got 1b0313f016d98e556396c91d08127c59722762d0 got 4c42d44a9221209293e5f3eb7e662a1571b09421 got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7 error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri... Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658. fatal: Fetch failed. Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path …

12
ยกเลิกการ submodule git submodule
ฉันจะยกเลิกการส่ง submodule git submodule ได้อย่างไร (นำโค้ดทั้งหมดกลับสู่แกนกลาง) เช่นเดียวกับวิธี "ควร" ฉันเช่นเดียวกับ "ขั้นตอนที่ดีที่สุด" ...

10
ฉันจะย้าย submodule Git ที่มีอยู่ภายในที่เก็บ Git ได้อย่างไร
ฉันต้องการเปลี่ยนชื่อไดเรกทอรีของ submodule Git ใน superproject Git ของฉัน สมมติว่าฉันมีรายการต่อไปนี้ใน.gitmodulesไฟล์ของฉัน: [submodule ".emacs.d/vimpulse"] path = .emacs.d/vimpulse url = git://gitorious.org/vimpulse/vimpulse.git ฉันต้องพิมพ์อะไรเพื่อย้าย.emacs.d/vimpulseไดเรกทอรีไป.emacs.d/vendor/vimpulseโดยไม่ต้องลบออกก่อน (อธิบาย ที่นี่และที่นี่ ) แล้วเพิ่มใหม่อีกครั้ง Git ต้องการเส้นทางทั้งหมดในแท็ก submodule หรือไม่ [submodule ".emacs.d/vimpulse"] หรือมันเป็นไปได้ที่จะเก็บเพียงแค่ชื่อของโครงการย่อยหรือไม่ [submodule "vimpulse"]

14
ไม่พบการแมป submodule ใน. gitmodule สำหรับเส้นทางที่ไม่ใช่ submodule
ฉันมีโครงการที่มี submodule ที่ lib/three20 .gitmoduleไฟล์ของฉันมีลักษณะเช่นนี้: [submodule "lib/three20"] path = lib/three20 url = git://github.com/facebook/three20.git ฉันได้โคลนสิ่งนี้ในอดีตโดยไม่มีข้อผิดพลาด ( git submodule initตามมาด้วยgit submodule update) และมันใช้งานได้ระยะหนึ่งแล้ว ฉันพยายามโคลนสิ่งนี้กับเครื่องใหม่และตอนนี้ฉันได้รับข้อผิดพลาดนี้ในgit submodule init: No submodule mapping found in .gitmodules for path 'Classes/Support/Three20' เส้นทางนั้นเป็นเพียงโฟลเดอร์ว่างใน Xcode ที่ฉันใช้เพื่อบ้านโครงการจากไดเรกทอรีอื่น มันไม่ได้เป็นส่วนหนึ่งของ.gitmodulesไฟล์ดังนั้นฉันไม่เห็นว่าเส้นทางมาจากที่ใด ความคิดใด ๆ

5
ฉันจะเพิ่ม submodule ในไดเรกทอรีย่อยได้อย่างไร
ฉันมี repo คอมไพล์~/.janus/กับพวงของ submodules ในนั้น ฉันต้องการเพิ่ม submodule ใน~/.janus/snipmate-snippets/snippets/แต่เมื่อฉันทำงานgit submodule add <git@github.com:...>ในsnipmate-snippetsไดเรกทอรีฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: You need to run this command from the toplevel of the working tree. ดังนั้นคำถามคือฉันจะเพิ่ม submodule ในsnipmate-snippetsไดเรกทอรีได้อย่างไร

13
Git submodule head 'การอ้างอิงไม่ใช่ข้อผิดพลาด' tree
ฉันมีโครงการที่มี submodule ที่ชี้ไปที่การกระทำที่ไม่ถูกต้อง: submodule กระทำยังคงอยู่ในพื้นที่และเมื่อฉันพยายามที่จะดึงมันจาก repo อื่นที่ฉันได้รับ: $ git submodule update fatal: reference is not a tree: 2d7cfbd09fc96c04c4c41148d44ed7778add6b43 Unable to checkout '2d7cfbd09fc96c04c4c41148d44ed7778add6b43' in submodule path 'mysubmodule' ฉันรู้ว่าสิ่ง HEAD submodule ควรจะเป็นมีวิธีที่ฉันสามารถเปลี่ยนแปลงได้ในท้องถิ่นโดยไม่ต้องผลักดันจาก repo ที่ไม่ได้กระทำ2d7cfbd09fc96c04c4c41148d44ed7778add6b43? ฉันไม่แน่ใจว่าฉันชัดเจนหรือไม่ ... นี่เป็นสถานการณ์ที่คล้ายกันที่ฉันพบ


4
ฉันจะทำงานกับที่เก็บ git ภายในที่เก็บอื่นได้อย่างไร
ฉันมีที่เก็บสื่อ Git ที่ฉันเก็บรักษาไฟล์ JavaScript และ CSS หลักทั้งหมดและสคริปต์ที่ฉันจะใช้ในโครงการต่างๆ ถ้าฉันสร้างโครงการใหม่ที่อยู่ในที่เก็บ Git ของตัวเองฉันจะใช้ไฟล์ JavaScript จากที่เก็บสื่อของฉันในโครงการใหม่ของฉันด้วยวิธีที่ทำให้มันได้ดังนั้นฉันจึงไม่ต้องอัปเดตทั้งสองสคริปต์เมื่อฉันทำการเปลี่ยนแปลง ?

4
Git update submodules แบบวนซ้ำ
โครงงานของฉัน ProjectA -FrameworkA (submodule) --Twig (submodule of FrameworkA) ฉันจะอัปเดต submodules ซ้ำได้อย่างไร ฉันได้ลองใช้คำสั่ง git แล้ว (บนรูท ProjectA) git submodule foreach git pull origin master หรือ git submodule foreach --recursive git pull origin master แต่ไม่สามารถดึงไฟล์ของ Twig

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