Rumah > Soal Jawab > teks badan
git rebase 是不是就是跟 merge master 到你的 branch 产生代码的效果一样的, 不考虑 history log 等其他的因素
为情所困2017-04-27 09:05:25
Anda berkata anda tidak akan mempertimbangkan Log Sejarah, jadi tiada apa lagi untuk dikatakan...
Tetapi sebenarnya, Rebase tidak mempunyai kekangan arah Anda boleh Rebase Master ke cawangan anda, atau sebaliknya.
Pada asasnya, Merge mengabaikan perbezaan dalam rekod sejarah kedua-dua pokok, dan hanya menggabungkan perbezaan pada saat melaksanakan Merge manakala Rebase adalah untuk menyelesaikan perbezaan dalam rekod sejarah kedua-dua pokok, dan kemudian bergabung .
Anda boleh memvisualisasikan memori:
Sebagai contoh, saya memisahkan cawangan daripada master dan membuat beberapa komitmen berdasarkannya Pada masa ini, terdapat juga komitmen baharu oleh orang lain pada master. Jika saya menggabungkan induk pada cawangan baharu, komitmen baharu akan muncul pada cawangan saya, merekodkan gabungan perubahan saya dan perubahan pada induk. Ia seperti dua baris digabungkan menjadi satu. Jika saya rebase, bermula dari titik di mana saya berpisah, komitmen baharu pada induk diisi dahulu, dan kemudian komitmen saya sendiri ditulis semula di atas kemas kini. Jadi kandungannya masih bercantum, tetapi sejarahnya berurutan Dari pandangan anda, ia seolah-olah tidak pernah dipisahkan dari tuan.