Başka soru sözü git pullbir gibidir git fetch+ git merge.
Fakat git pullVS git fetch+ arasındaki fark git rebasenedir?
Başka soru sözü git pullbir gibidir git fetch+ git merge.
Fakat git pullVS git fetch+ arasındaki fark git rebasenedir?
Yanıtlar:
Sorunuzdan, git mergeve arasındaki farkı gerçekten sorduğunuzun oldukça açık olması gerekir git rebase.
Diyelim ki ortak durumda olduğunuzu varsayalım. Getirmeden sonra, işler şöyle görünür:
- o - o - o - H - A - B - C (master)
\
P - Q - R (origin/master)
Bu noktada birleşirseniz (git pull'un varsayılan davranışı), herhangi bir çakışma olmadığını varsayarsak, bununla sonuçlanırsınız:
- o - o - o - H - A - B - C - X (master)
\ /
P - Q - R --- (origin/master)
Öte yandan, uygun rebase yaptıysanız, bununla sonuçlanır:
- o - o - o - H - P - Q - R - A' - B' - C' (master)
|
(origin/master)
Çalışma ağacınızın içeriği her iki durumda da aynı olmalıdır; yeni bir tarih yarattınız . Rebase, geçmişinizi yeniden yazar ve başlangıçta ( R) yerine orijinalin yeni ana dalını ( ) üstlenmiş gibi görünmesini sağlar H. Ana şubenizden bir başkası daha önce almışsa, rebase yaklaşımını asla kullanmamalısınız.
Son olarak, git pullconfig parametresini branch.<name>.rebasetrue olarak ayarlayarak belirli bir dal için birleştirme yerine rebase kullanacak şekilde ayarlayabileceğinizi unutmayın . Bunu kullanarak tek bir çekme işlemi için de yapabilirsiniz git pull --rebase.
git pullkoşma gibidir git fetchardından git merge
git pull --rebasegibidir git fetchardındangit rebase
git pullbir git fetch+ gibidir git merge.
"Varsayılan modunda git çekme kısaltması ve
git fetchardındangit mergeFETCH_HEAD" Daha kesin olarak, verilen parametrelerlegit pullçalışırgit fetchve sonragit mergealınan dal kafalarını geçerli dalda birleştirmeye çağırır "
(Ref: https://git-scm.com/docs/git-pull )
'Ama git pullVS git fetch+ arasındaki fark nedir? git rebase'
Yine aynı kaynaktan:
git pull --rebase
"--Rebase ile git birleştirme yerine git rebase'i çalıştırır."
'arasındaki fark mergeve rebase'
burada da yanıtlanır:
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
(sürüm geçmişinin kaydedilme biçimini değiştirme arasındaki fark)
git fetch + git rebasekomutların çalışma şeklini gerçekten anlıyorum . Git ağacımızda şu an az ya da çok çatışma yok :)