Baik. Jika saya di cabang (katakanlah working
), dan saya ingin menggabungkan perubahan dari cabang lain (katakanlah master
), maka saya menjalankan perintah git-merge master
sementara di working
cabang, dan perubahan bisa digabung tanpa mengubah sejarah sama sekali. Jika saya menjalankan git-rebase master
, maka perubahan di master
rebased untuk diletakkan di atas working
cabang saya . Tetapi bagaimana jika saya ingin menggabungkan perubahan dari master
tetapi rebase perubahan saya diworking
menjadi di atas? Bagaimana aku melakukan itu? Bisakah itu dilakukan?
Saya dapat berlari git-rebase working
di master
cabang saya untuk menempatkan perubahan saya di atas di master
cabang, tetapi saya ingin dapat melakukannya di working
cabang saya , dan saya tidak tahu caranya. Yang paling dekat yang bisa saya pikirkan adalah membuat cabang baru dari master
dan kemudian rebase working
perubahan di atas itu, tapi kemudian saya akan memiliki cabang baru alih-alih mengubah working
cabang.
sumber
git rebase working
akan memindahkanmaster
perubahan (setelah titik yangworking
bercabang) menjadi di atasworking
cabang - tapi itu bukan hal yang sangat masuk akal untuk dilakukan untukmaster
:)Cara lain untuk melihatnya adalah dengan mempertimbangkan
git rebase master
:Di sini, '
master
' adalah cabang hulu , dan itu menjelaskan mengapa, selama rebase,ours
dantheirs
dibalik .sumber
git difftool
kiri / kanan yang mengerikan. Mengembalikan topik, tetapi bagidifftool
saya tetap berpegang pada git-berbaur dan menikmati nama-nama seperti 'working-dir', 'stash @ {0}', dan seterusnya.git checkout branch_to_update git rebase master
Saya mendapatkan git log komit di atas cabang lokal, sebaliknya?