Pertanyaan Bagaimana cara mengkloning cabang Git tertentu? [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Git clone akan berperilaku menyalin cabang kerja jarak jauh ke lokal.

Apakah ada cara untuk mengkloning cabang tertentu sendiri tanpa beralih cabang pada repositori jarak jauh?


2088
2017-12-15 23:06


asal


Jawaban:


Silakan lihat juga jawaban lainnya yang disukai banyak orang.

Anda mungkin juga ingin memastikan bahwa Anda memahami perbedaannya, tidak seperti mayoritas komentator yang marah dan downvoters. Dan perbedaannya adalah: dengan memohon git clone -b branch url kamu mengambil semua cabang-cabang dan memeriksa satu. Itu mungkin, misalnya, berarti bahwa repositori Anda memiliki dokumentasi 5kB atau cabang wiki dan cabang data 5GB. Dan kapan pun Anda ingin mengedit halaman depan Anda, Anda mungkin akan menggandakan 5GB data.

Sekali lagi, itu tidak berarti git clone -b bukan cara untuk mencapai itu, hanya saja tidak selalu apa yang ingin Anda capai, ketika Anda bertanya tentang kloning cabang tertentu.

Jawaban yang akan saya tulis hari ini, dengan mengingat hari ini adalah

git clone --single-branch -b branch host:/dir.git

pada saat menulis jawaban asli di bawah ini, git tidak --single-branch pilihan, tapi mari kita jaga itu untuk kepuasan penuh lebah yang marah.

Jawaban yang sangat tidak disukai oleh copypasters adalah ini:

git init
git remote add -t refspec remotename host:/dir.git
git fetch

230
2017-12-15 23:09



git clone -b <branch> <remote_repo>

Contoh:

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

Dengan Git 1.7.10 dan yang lebih baru, tambahkan --single-branch untuk mencegah pengambilan semua cabang. Contoh, dengan cabang OpenCV 2.4:

git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git

6660
2017-12-31 05:36



Untuk mengkloning cabang tanpa mengambil cabang lain:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH

222
2017-09-08 14:34



Berikut ini cara yang sangat sederhana untuk melakukannya :)

Menggandakan repositori

git clone <repository_url>

Daftar semua cabang

git branch -a 

Periksa cabang yang Anda inginkan

git checkout <name_of_branch>

204
2017-07-14 09:42



git checkout -b <branch-name> <origin/branch_name>

misalnya 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 nomor cabang enum-akun saya, saya lakukan:

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

Setelah Anda menekan kembali, hal berikut terjadi:

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

"


68
2017-11-15 19:34



Buat cabang di sistem lokal dengan nama itu. misalnya katakanlah Anda ingin mendapatkan cabang bernama "cabang-05142011"

git branch branch-05142011 origin/branch-05142011 

Ini akan memberi Anda pesan seperti - "Cabang cabang-05142011 mengatur untuk melacak cabang cabang jarak jauh-05142011 dari asal."

Sekarang tinggal checkout cabang seperti di bawah dan Anda memiliki kode -
git checkout branch-05142011


20
2018-05-15 19:20



git --branch <branchname> <url>

Tetapi penyelesaian bash tidak mendapatkan kunci ini: --branch

Nikmati.


11
2017-09-07 10:16