Bagaimana cara clone tertentu Git branch?

Git clone akan berperilaku menyalin remote kerja saat ini cabang ke lokal.

Apakah ada cara untuk mengkloning cabang tertentu dengan diriku sendiri tanpa beralih cabang pada remote repository?

git clone -b  

Contoh:

git clone -b my-branch git@github.com:user/myproject.git

Dengan Git 1.7.10 dan kemudian, tambahkan - single-cabang untuk mencegah mengambil semua cabang. Contoh, dengan OpenCV 2.4 cabang:

git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
Komentar (10)
Larutan
git clone --single-branch --branch  

The - single-cabang pilihan ini berlaku dari versi 1.7.10 dan kemudian.

Silahkan lihat juga jawaban yang banyak orang sukai.

Anda juga mungkin ingin memastikan bahwa anda memahami perbedaan. Dan perbedaannya adalah: dengan menerapkan git clone --cabang <branchname> url anda're mengambil semua cabang-cabang dan memeriksa satu. Yang mungkin, misalnya, berarti bahwa repositori anda memiliki 5kB dokumentasi atau wiki cabang dan 5GB data cabang. Dan setiap kali anda ingin mengedit frontpage anda, anda mungkin berakhir kloning 5GB data.

Sekali lagi, itu bukan untuk mengatakan git clone --cabang bukan cara untuk mencapai itu, it's hanya itu's tidak selalu apa yang ingin anda capai, bila anda're bertanya tentang kloning cabang tertentu.

Pada saat menulis jawaban asli di bawah ini, git tidak punya --single-cabang pilihan, tapi let's melestarikannya untuk kepuasan penuh dari lebah marah.

Jawabannya begitu buruk tidak disukai oleh copypasters ini:

git init
git remote add -t refspec remotename host:/dir.git
git fetch
Komentar (3)

Berikut ini adalah cara yang sangat sederhana untuk melakukannya :)

Clone repository

git clone 

Daftar semua cabang

git branch -a 

Checkout cabang yang anda inginkan

git checkout 
Komentar (7)

Untuk mengkloning cabang tanpa mengambil cabang-cabang lain:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
Komentar (5)
git checkout -b  

untuk contoh dalam kasus saya:

 git branch -a
* master
  origin/HEAD
  origin/enum-account-number
  origin/master
  origin/rel_table_play
  origin/sugarfield_customer_number_show_c

Jadi untuk membuat cabang baru berdasarkan enum-akun-nomor cabang yang saya lakukan:

git checkout -b enum-account-number origin/enum-account-number

Setelah anda menekan kembali terjadi hal sebagai berikut:

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number

"

Komentar (2)

Membuat cabang pada sistem lokal dengan nama itu. misalnya, katakanlah anda ingin mendapatkan cabang bernama "cabang-05142011"

git branch cabang-05142011 asal/cabang-05142011

It'll memberikan pesan seperti - "Cabang cabang-05142011 diatur untuk melacak jarak jauh cabang cabang-05142011 dari asal."

Sekarang hanya checkout cabang seperti di bawah ini dan anda memiliki kode - git checkout cabang-05142011

Komentar (5)
git --branch  

Tapi bash penyelesaian don't mendapatkan kunci ini: --cabang

Menikmati.

Komentar (0)