ฉันจะส่งอีเมลถึงใครบางคนในที่เก็บ git ได้อย่างไร


86

ฉันเหนื่อย:

git archive HEAD --format=zip > archive.zip

: จากนั้นฉันส่งอีเมลไปที่ archive.zip และในอีกด้านหนึ่งพวกเขาก็คลายซิป archive.zip ลงในโฟลเดอร์ แต่เมื่อพวกเขาลองใช้คำสั่ง git พวกเขาพบว่าสิ่งนี้ไม่ได้สร้างที่เก็บ git ที่ถูกต้อง


20
สำหรับคนอื่น ๆ ที่พบสิ่งนี้: สาเหตุที่ git archive ไม่เหมาะกับงานนั้นก็คือการทำแพ็กเกจโครงสร้างงานเท่านั้น ใช้สำหรับทำสิ่งต่างๆเช่นการทำ tarball จากแหล่งที่มาทั้งหมดของคุณเพื่อแจกจ่าย
Cascabel

คำตอบ:


114

คุณสามารถใช้git bundleและส่งอีเมลไฟล์เดียว

ดู "การสำรองโครงการที่ใช้ git "

git บันเดิลเป็นเพียงไฟล์เดียวซึ่งสามารถสร้างได้ง่ายมากและนำเข้าอีกครั้งเนื่องจากสามารถใช้งานได้เหมือนรีโมตอื่น

เมื่อได้รับแล้วคุณสามารถโคลนหรือดึงข้อมูลจากไฟล์นั้นได้

ตามที่ระบุไว้ใน " Backup of github repo " คุณอาจต้องการให้อีเมลฉบับแรกสร้างบันเดิลของคุณกับทุกสาขา:

$ git bundle create /tmp/foo-all --all

ดังที่Andreasกล่าวไว้ในความคิดเห็นScott Chaconเมื่อเร็ว ๆ นี้ (มีนาคม 2010) ได้เขียนบทความ "น่ารัก" ในหัวข้อนี้ในบล็อก ProGit :

กลุ่มเล็ก ๆ แห่งความสุขของ Git


3
@Zubair: ใช่ประวัติทั้งหมดจะถูกบันทึกตรงกันข้ามกับgit archive!
VonC

2
ขอบคุณ. ฉันคิดออกแล้ว: git init จากนั้น: git pull bundle.bdl master
yazz.com

6
@Zubair: เลิกมัด? คุณสามารถโคลนเพื่อเรียกคืน git repo ตามปกติได้ หรือดึงใน repo ที่ว่างเปล่า นั่นคือตอนนี้ฉันเห็นสิ่งที่คุณทำ;)
VonC

1
นี่คือภาพรวมที่ดีของวิธีใช้คำสั่งบันเดิลและสิ่งที่มันทำ: progit.org/2010/03/10/bundles.html
Andreas

2
@BVengerov ลิงก์ตอนนี้คือgit-scm.com/blog/2010/03/10/bundles.html
VonC

4

ตามคำตอบก่อนหน้านี้git bundleเป็นวิธีที่

หากคุณต้องการสร้างบันเดิลจากการใช้เพียงสาขาเดียว (ฉันชอบบันเดิลเฉพาะมาสเตอร์) และส่งทางอีเมลคุณสามารถทำสิ่งต่อไปนี้:

$ git bundle create /tmp/mygitbackup.bundle master

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