Git clone, uzaktaki mevcut çalışma dalını yerele kopyalıyor gibi davranacaktır.
Uzak depodaki dalları değiştirmeden belirli bir dalı kendim klonlamanın bir yolu var mı?
git clone -b <branch> <remote_repo>
Örnek:
git clone -b my-branch [email protected]:user/myproject.git
Git 1.7.10 ve sonrasında, tüm dalların getirilmesini önlemek için --single-branch
ekleyin. Örnek, OpenCV 2.4 dalı ile:
git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
git clone --single-branch --branch <branchname> <remote-repo>
Tek dal` seçeneği 1.7.10 ve sonraki sürümlerden itibaren geçerlidir.
Lütfen birçok kişinin tercih ettiği diğer yanıta da bakınız.
Aradaki farkı anladığınızdan da emin olmak isteyebilirsiniz. Aradaki fark şudur: git clone --branch <branchname> url
komutunu çağırarak tüm dalları getirir ve birini kontrol edersiniz. Bu, örneğin, deponuzun 5kB dokümantasyon veya wiki dalı ve 5GB veri dalı olduğu anlamına gelebilir. Ve ne zaman ön sayfanızı düzenlemek isteseniz, 5GB'lık veriyi klonlamak zorunda kalabilirsiniz.
Yine, git clone --branch
bunu başarmanın yolu değildir demek değildir, sadece belirli bir dalı klonlamayı sorduğunuzda başarmak istediğiniz şey her zaman bu değildir.
Aşağıdaki orijinal cevabı yazarken, git'in `--single-branch' seçeneği yoktu, ancak kızgın arıları tam olarak tatmin etmek için bunu koruyalım.
Kopyacıların hiç hoşuna gitmeyen cevap şuydu:
git init
git remote add -t refspec remotename host:/dir.git
git fetch
Yerel sistemde bu adla bir şube oluşturun. örneğin, "branch-05142011" adlı şubeyi almak istediğinizi varsayalım
git branch branch-05142011 origin/branch-05142011
Size şöyle bir mesaj verecektir - "Branch branch-05142011, origin'den uzak branch branch-05142011'i izlemek için ayarlandı."
Şimdi sadece aşağıdaki gibi şubeyi kontrol edin ve kodunuz var -
git checkout branch-05142011