Yanıtlar:
Bu uzaktan izleme dallarına ~ (listelenenler git branch -r
) uzaktan kumandalarının adıyla başvurabilirsiniz .
Uzak dalı getirmeniz gerekiyor:
git fetch origin aRemoteBranch
Yerel şubenizdeki bu uzak dallardan birini birleştirmek istiyorsanız:
git checkout master
git merge origin/aRemoteBranch
Not 1: Uzun bir geçmişi olan büyük bir repo için, --depth=1
kullandığınızda seçeneği eklemek istersiniz git fetch
.
Not 2: Bu komutlar diğer uzak depolarla da çalışır, böylece bir çatal üzerinde çalışıyorsanız bir origin
ve bir ayarlayabilirsiniz upstream
.
Senaryo karşısında: Yerel dalınızdan birini uzak bir dalda birleştirmek istiyorsanız (uzak bir dalın aksine, yukarıda gösterildiği gibi yerel bir dalla), önce söz konusu uzak dalın üstünde yeni bir yerel dal oluşturmanız gerekir :
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
Buradaki fikir, "yerel şubenizden birini" (burada anotherLocalBranch
) uzak bir şubeye ( origin/aBranch
) birleştirmektir.
Bunun için, myBranch
o uzak dalı temsil eden ilk " " öğesini yaratırsınız: git checkout -b myBranch origin/aBranch
bölüm budur.
Ve sonraanotherLocalBranch
onunla (to myBranch
) birleşebilirsiniz .
aLocalBranch
" ile " myBranch
" arasında birleşiyorum , " myBranch
" uzak bir dalı temsil ediyororigin/aBranch
.
aLocalBranch
bir yazım hatası olmadığını söylüyorsunuz , ancak bu "olası yazım hatasını" düzelten en son düzenlemeyi (2 yıl sonra!) Onayladınız. Düzenlemeyi geri almadan önce sizinle görüşmek istedim.
Birleştirme yaptığımda, birleştirmek istediğim şubeye giriyorum (örneğin " git checkout branch-i-am-working-in
") ve sonra aşağıdakileri yapıyorum:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-from
ilk yapmak zorundasın , değil mi?
git fetch origin develop
ardındangit merge origin/develop
git merge
yalnız yapmaz.
git add .
-> git commit -m <message>
-> git push -u origin <branch>
?
Önce uzak dalı başlangıç noktasından getir.
git fetch origin remote_branch_name
Uzak dalı yerel şubeyle birleştir
git merge origin/remote_branch_name
Belki uzak şubeyi yerel bir şubeyle izlemek istersiniz :
git branch new-local-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
Uzak dalınızı zaten getirdiyseniz ve yaparsanız git branch -a
, şöyle bir
şey elde edersiniz:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Bundan sonra, rep_mirror/8.0
uzak dalınızı yerel olarak belirlemek için kullanabilirsiniz .
İşin püf noktası bu remotes/rep_mirror/8.0
işe yaramıyor ama işe yarıyor rep_mirror/8.0
.
Yani, git merge -m "my msg" rep_mirror/8.0
birleştirme gibi bir komut .
(not: bu @VonC cevabına bir yorum. Kod blokları yorum formatına uymadığı için başka bir cevap olarak koydum)