Jawaban:
Anda dapat merujuk cabang-cabang pelacakan jarak jauh ~ (terdaftar dengan git branch -r) dengan nama jarak jauh mereka.
Anda perlu mengambil cabang jarak jauh:
git fetch origin aRemoteBranch
Jika Anda ingin menggabungkan salah satu cabang jarak jauh di cabang lokal Anda:
git checkout master
git merge origin/aRemoteBranch
Catatan 1: Untuk repo besar dengan riwayat panjang, Anda akan ingin menambahkan --depth=1opsi saat Anda menggunakannya git fetch.
Catatan 2: Perintah-perintah ini juga bekerja dengan repo jarak jauh lain sehingga Anda dapat mengatur origindan upstreamjika Anda sedang mengerjakan garpu.
Skenario yang berlawanan: Jika Anda ingin menggabungkan salah satu cabang lokal Anda pada cabang jarak jauh (berbeda dengan cabang jarak jauh ke cabang lokal, seperti yang ditunjukkan di atas), Anda perlu membuat cabang lokal baru di atas cabang jarak jauh yang disebutkan terlebih dahulu:
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
Idenya di sini, adalah untuk menggabungkan "salah satu cabang lokal Anda" (di sini anotherLocalBranch) ke cabang jauh ( origin/aBranch).
Untuk itu, Anda buat " myBranch" pertama sebagai mewakili cabang jarak jauh itu: itulah git checkout -b myBranch origin/aBranchbagiannya.
Dan kemudian Anda bisa bergabung anotherLocalBranchdengannya myBranch.
aLocalBranch" menjadi " myBranch", dengan " myBranch" mewakili cabang jarak jauh origin/aBranch.
aLocalBranchitu bukan kesalahan ketik, tetapi Anda menyetujui suntingan terakhir (2 tahun kemudian!) Yang mengoreksi "kemungkinan kesalahan ketik" ini. Saya ingin memeriksa dengan Anda sebelum membatalkan pengeditan.
Setiap kali saya melakukan penggabungan, saya masuk ke cabang yang ingin saya gabungkan (misalnya " git checkout branch-i-am-working-in") dan kemudian lakukan hal berikut:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-frompertama, bukan?
git fetch origin developdiikuti olehgit merge origin/develop
git merge sendirian tidak akan melakukannya.
git add .-> git commit -m <message>-> git push -u origin <branch>?
Ambil cabang jarak jauh dari asal terlebih dahulu.
git fetch origin remote_branch_name
Gabungkan cabang jarak jauh ke cabang lokal
git merge origin/remote_branch_name
Mungkin Anda ingin melacak cabang jarak jauh dengan cabang lokal:
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullJika Anda sudah mengambil cabang jarak jauh dan melakukannya git branch -a,
Anda mendapatkan sesuatu seperti:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Setelah itu, Anda dapat menggunakan rep_mirror/8.0untuk menunjuk secara lokal cabang jauh Anda.
Kuncinya adalah itu remotes/rep_mirror/8.0tidak berhasil tetapi rep_mirror/8.0tidak.
Jadi, perintah seperti git merge -m "my msg" rep_mirror/8.0do the merge.
(catatan: ini adalah komentar untuk jawaban @VonC. Saya meletakkannya sebagai jawaban lain karena blok kode tidak cocok dengan format komentar)