Birine git deposuna nasıl e-posta gönderebilirim?


86

Denedim:

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

: ve sonra archive.zip e-postayla gönderiyorum ve diğer tarafta archive.zip dosyasını bir klasöre açıyorlar. Ancak herhangi bir git komutunu denediklerinde bunun geçerli bir git deposu oluşturmadığını anlarlar.


20
Bunu bulan diğerleri için: git arşivinin iş için doğru olmamasının nedeni, yalnızca çalışma ağacını paketlemesidir. Dağıtım için tüm kaynağınızdan bir tarball yapmak gibi şeyler yapmak içindir.
Cascabel

Yanıtlar:


114

git bundleTek bir dosya kullanabilir ve e-posta gönderebilirsiniz

Bkz: " budala kullanır projesini yedekleme "

Git paketi, çok kolay bir şekilde oluşturulabilen ve başka bir uzaktan kumanda gibi işlenebileceği için tekrar içe aktarılabilen tek bir dosyadır.

Alındıktan sonra, onu klonlayabilir veya o dosyadan getirebilirsiniz.

" Github deposunun yedeklenmesi " bölümünde bahsedildiği gibi , muhtemelen ilk e-postanın tüm şubeler ile paketinizi oluşturmasını isteyeceksiniz :

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

Andreas'ın yorumlarda bahsettiği gibi , Scott Chacon kısa süre önce (Mart 2010) ProGit blogunda bu konu hakkında "şirin" bir makale yazdı :

Git'in Küçük Neşe Paketi


3
@Zubair: evet, tüm geçmiş kaydedildi, aksine git archive!
VonC

2
Teşekkürler. Anladım: git init ve sonra: git pull bundle.bdl master
yazz.com

6
@Zubair: Çözmek mi? Normal bir git deposunu geri almak için basitçe klonlayabilirsiniz. Veya boş bir depoya çekin. Hangisi, şimdi ne yaptığını görüyorum;)
VonC

1
Bu, bundle komutunun nasıl kullanılacağına ve ne işe yaradığına dair iyi bir genel bakıştır: progit.org/2010/03/10/bundles.html
Andreas

2
@BVengerov Bağlantı artık git-scm.com/blog/2010/03/10/bundles.html
VonC

4

Önceki yanıtın da söylediği gibi, git bundle yol budur.

Yalnızca tek bir şube kullanarak (yalnızca ana grubun paketlenmesini tercih ederim) ve e-posta yoluyla göndererek bir paket oluşturmak istiyorsanız, aşağıdaki gibi bir şey yapabilirsiniz:

$ git bundle create /tmp/mygitbackup.bundle master

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.