Nasıl rebase
çalışır:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Varsayalım
---o----o----o----o master
\---A----B <my branch>
İlk iki komut ... taahhüt git git checkout git rebase master
... şubeye uygulamak istediğiniz değişikliklerin dalına göz master
atın. rebase
Komut gelen kaydedilmesini alır <my branch>
(bulunmayan master
başkanına) ve yeniden uygular onları master
. Başka bir deyişle, ilk taahhüdün ebeveyni <my branch>
artık master
tarihte önceki bir taahhüt değil, şu anki başkanıdır master
. İki komut aynıdır:
git rebase master <my branch>
Hem "temel" hem de "değiştir" dalları açık olduğundan bu komutu hatırlamak daha kolay olabilir.
. Nihai geçmiş sonucu:
---o----o----o----o master
\----A'----B' <my branch>
Son iki komut ...
git checkout master
git merge <my branch>
... tüm <my branch>
değişiklikleri uygulamak için hızlı ileri bir birleştirme yapın master
. Bu adım olmadan, rebase taahhüdü eklenmez master
. Nihai sonuç:
---o----o----o----o----A'----B' master, <my branch>
master
ve <my branch>
her ikisi de referans B'
. Ayrıca, bu noktadan sonra <my branch>
referansı silmek güvenlidir .
git branch -d <my branch>
--cached
kontrol ederken unutmayıngit diff
. bağlantı