2010-01-12 4 views
9

Hızlı bir yeniden yükleme yapmadan önce dosyalarımı bir DVD'ye yazıyorum. Son kullanıcı olarak git ile gitmedim. Bu yüzden sadece sizlerle görüşüyorum. Eğer doğru anlaşılırsa, onunla birlikte gizli dosyaları izlemek için proje dizini project_name (içinde .git vardır) yedekleme, ve "yeni" makineye kopyalayın ve tekrar yeniden yükleyin, ben gerekir hiçbir şey olmamış gibi devam et? Doğru mu?http://support.microsoft.com/contactus/default.aspx?displaylang=tr adresinden yararlanan projeyi yedekleme

+0

paket temel avantajı, ana repo tarihinin yalnızca bir kısmını paket yeteneğidir, artımlı tasarruflar yapmanıza ve bunları hedefe kademeli olarak uygulamanıza izin verir. Artı, kopyalanacak bir dosya. – VonC

cevap

8

yep. doğru.

+4

Şimdiye kadarki en kısa ve en endişe verici cevap :) – Rook

+4

Sadece "evet" demeyi denedim. ancak, 15 karakterden küçük cevaplar göndermeme izin vermez: P A git deposu basitçe bir klasördür (ve alt klasörleri) .it diziniyle başlatılmış bir .git dizinidir. Bu klasörü istediğiniz yere taşıyabilirsiniz ve git ile çalışacaktır. –

+0

Git'e de yeniyim, bu yüzden bu soruya geliyor. Burada "git bundle" diğer cevaplara göre daha iyi bir seçenek gibi görünse de, dosyaları el ile yedekliyorsa kesinlikle sadece _.git_ klasörünün yedeklenmesi gerekiyor mu? Herhangi bir dalın mevcut durumu, sadece bu klasörün içeriğinden uygun şekilde yeniden oluşturulabilir mi? –

11

yalnızca (geçmişi olmadan) yedekleme proje dosyaları, sen git archive kullanabilirsiniz istiyorsanız

git-archive-all.sh aslında tüm git depoları arşivler komut (bu şekilde, ben "gizli dosya için seyretmek" gerekmez) ve mevcut yoldaki alt modüller.

Diğer alt modülleri içeren bir git süper projesinin tek bir katmanı oluşturmak için kullanışlıdır.


Charles Bailey haklı yorumlardaki bahisler gibi, git bundle geçmişini korumak için, daha uygundur. (git bundle, February 2007 sayılı telefondan alınmıştır).

Backing up a git repository with git bundle

git bundle Git transferini sağlamak üzere tasarlanmıştır bakın depoları arasında doğrudan bağlantı olduğunda taahhüt (yani: çevrimdışı) ama kullanan yamalar nedeniyle kaydedilmesini ve birden çok sayıda bir seçenek değildir dalları.
A git bundle, bir başka uzaktan kumanda gibi ele alınabileceği için kolayca oluşturulabilen ve yeniden alınabilen tek bir dosyadır. Hızlı bir örnek:

[email protected]:~/devel$ git bundle create ~/devel.bdl master test 

ve bir paket benim usta ve test dalları içeren ~/devel.bdl altında kaydedilir.
Şu anda B deposundaysam, yalnızca paket içinde depolanan dalları gösteren [email protected]:~$ git ls-remote devel.bdl kullanın.
git (örneğin) getirme kullanarak, bir uzak gibi paket Basit bir muamele onu kullanmak için

[email protected]:~/git/repoB$ git fetch ~/devel.bdl refs/heads/\*:refs/remotes/bundle/\* 
+1

'git-archive-all' meitar'dan (http: // github.com/meitar) – VonC

+1

Bir yedek için, 'git bundle'' git arşivi'nden daha uygun olduğunu düşünüyorum. 'git arşivi 'sadece ağaçların (anlık görüntüler) yığınlarını oluşturur, ancak taahhütleri ve geçmişi korumaz. 'git bundle 'herhangi bir bağımlılık yaratmadan, istediğiniz kadar çok dalın dondurularak kurutulmuş bir deposu olabilir. –

+1

@Charles: Yorum için teşekkürler. Cevabımı buna göre düzenledim. – VonC