Başlangıç durumuna --rebase (hayır unpushed değişiklikler >
akım dalını belirtir) . git pull --rebase
akıllı ve sadece master
da başlangıçta E
master
eğer == origin/master
işaret yapmak git reset
kullanır?git çekme
cevap
git pull --rebase
onun ne benzer:
git fetch
git rebase
yapardı. davanız böyle repo bırakacaktır Yani:
o C [> master]
|
o B
|
o E [origin/master]
|
o C'
|
o B'
|
o D
|
o A
|
...
Not olduğunu sen üstüne yeniden oluşturulan kökenli farklı olan iki kaydedilmesini işlemek E.
yerine birleştirme rebase ile indirebiliriz- o benim takımım böyle çalışır ve oldukça iyi çalışıyor. "A few git tips you didn't know about" Kimden
:
şube işlemek Birleştirme kaydedilir GIT'de birleştirir olduğundan, bunlar olması gerekiyordu anlamlı örneğin, bir özellik bir sürüme birleştirildi bunu gösterecek şekilde dalı. Ancak, birkaç ekip üyeleri genellikle tek bir dalı senkronize düzenli günlük iş akışı sırasında, zaman çizelgesi düzenli git çekme gereksiz mikro birleştirme ile kirlenmektedir. Rebasing bu tarih doğrusal kalması kaydedilmesini her zaman yeniden uygulanmasını sağlar.
Hep --rebase bayrağı olmadan bunu yapmak için belirli dalları yapılandırabilirsiniz:
#make 'git pull' on master always use rebase
$ git config branch.master.rebase true
Ayrıca her yeni için son özelliğini ayarlamak için küresel seçeneği ayarlayabilirsiniz paletli şube:
# setup rebase for every tracking branch
$ git config --global branch.autosetuprebase always
git pull --rebase
DEĞİLgit fetch; git rebase
aynıdır. Maalesef git-pull
adam sayfası fark hakkında oldukça şifreli geçerli:
--rebase
Rebase the current branch on top of the upstream branch
after fetching. If there is a remote-tracking branch
corresponding to the upstream branch and the upstream branch
was rebased since last fetched, the rebase uses that
information to avoid rebasing non-local changes.
Orijinal Poster tahmin olarak fark git reset
içermeyen çıkıyor - aslında reflog (eğer here bakınız içerir sen cenneti 't) daha önce bu terimi ile karşılaştı.
- 1. git çekme isteği
- 2. Git subtree çekme kullanamazsınız
- 3. Git getirme/çekme çalışma durduruldu
- 4. Jenkins Git çekme isteği $ {sha1}
- 5. Git Yapılandırma Git Git yerel yanıtımı güncellemek için çekme
- 6. çekme benim git deposunda iki hareketin yaptık
- 7. git: Çekme isteğini çatalla birleştirmek nasıl?
- 8. Git çekme komutuna şifre nasıl girilir?
- 9. Git İstenmeyen yüklemeleri bir Çekme İsteği
- 10. Git - Kira çekme talebi için tek bir taahhüt seçin
- 11. Git Getirme ve Çekme: Farklı Sonuçlar, Neden Olmadığı
- 12. Git-svn'yi kullanma: Çekme, Birleştirme veya Yeniden İşleme?
- 13. Sunucu Çekme
- 14. Ben bir çekme yapmak istiyorum bir git repo var bir git repo
- 15. Github'da çekme isteği nasıl yapılır?
- 16. Android Studio'da bir GitHub çekme isteği çalıştırma
- 17. GitHub, bir çekme isteği oluşturur
- 18. intelliJ IDEA'da çekme isteği nasıl incelenir?
- 19. Klonlanmış bir repodan çekme isteği nasıl gönderilir?
- 20. GIT
- 21. Çekme piton modülü yukarı
- 22. Yenilemek için Çekme Javascript
- 23. CodeCommit'teki Çekme İstekleri
- 24. kısmi çekme yapmak
- 25. SwipeRefreshLayout - Alttan Çekme
- 26. Tetik Yenilemek İçin Çekme
- 27. SQL 2008 çekme
- 28. UIRefreshControl çekme uzunluğu
- 29. Bir çekme isteğinin bir bölümünü birleştirin
- 30. Bitbucket çekme isteğini düzeltme eki olarak uygulayın
Size 'C' ile karışık' B'' 'ile B' ve' C' ettik benziyor:
, bu cevaba bakınız '. Ne yazık ki, pratikte bu, "B" ve "C" 'nin zaten bir kökeni seçmesi ya da yeniden üretilmesinin bir sonucu olarak "kökeni/usta" nın parçası olması durumunda işe yaramaz. – Motgit pull --rebase
ekstra büyü etrafında tam bir öykü için'git pull --rebase' * * değil' git getirme ile aynıdır; git rebase' - [aradaki farkı veren cevapım] bölümüne bakın (http://stackoverflow.com/a/11531552/179332). –