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

30
ทำ "ส่งออก git" (เช่น "ส่งออก svn") หรือไม่
ฉันสงสัยว่ามีทางออกที่ดี "git ส่งออก" ที่สร้างสำเนาของต้นไม้โดยไม่มี.gitไดเรกทอรีพื้นที่เก็บข้อมูล มีอย่างน้อยสามวิธีที่ฉันรู้: git cloneตามด้วยการลบ.gitไดเรกทอรีที่เก็บ git checkout-index alludes ฟังก์ชั่นนี้ แต่เริ่มต้นด้วย "เพียงแค่อ่านต้นไม้ที่ต้องการลงในดัชนี ... " ซึ่งฉันไม่แน่ใจว่าจะทำอย่างไร git-exportเป็นสคริปต์ของบุคคลที่สามที่ทำหน้าที่git cloneเป็นสถานที่ชั่วคราวตามด้วยrsync --exclude='.git'ปลายทางสุดท้าย ไม่มีวิธีแก้ปัญหาใดที่ทำให้ฉันพอใจ หนึ่งที่ใกล้เคียงที่สุดsvn exportอาจเป็นตัวเลือก 1 เนื่องจากทั้งคู่ต้องการไดเรกทอรีไดเรกทอรีให้ว่างก่อน แต่ตัวเลือกที่ 2 นั้นดูดีกว่าโดยสมมติว่าฉันสามารถเข้าใจความหมายของการอ่านต้นไม้ในดัชนี

6
tree-ish หมายถึงอะไรใน Git?
git archiveฉันสับสนมากเกี่ยวกับวิธีการใช้ ฉันมีที่เก็บ git พร้อมโฟลเดอร์ Foo , BarและBazที่ระดับบนสุด ฉันต้องการส่งออกโฟลเดอร์Fooด้วยวิธี SVN-ish เพื่อการทดสอบการใช้งานอย่างรวดเร็ว ฉันได้เรียนรู้ว่าฉันสามารถใช้git-archiveในวิธีการส่งออก SVN-ishได้ แต่นี่คือสิ่งต่อไปนี้ใช้งานได้ดี: git archive master | tar -x -C ~/destination ส่งผลให้โฟลเดอร์Foo , Bar , Bazในโฟลเดอร์ปลายทาง อย่างไรก็ตามสิ่งต่อไปนี้จะเกิดข้อผิดพลาดกับfatal not a valid object name: git archive master/foo | tar -x -C ~/destination เอกสารประกอบ ดูเป็นบทสรุปของgit archiveโปรแกรมฉันเห็นว่ามันสามารถใช้<tree-ish> [path]เป็นพารามิเตอร์ได้ (สรุปสรุปไปยังส่วนที่เกี่ยวข้อง): git archive <tree-ish> [path...] …
122 git  git-archive 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.