[GIT] Wrong merge and wrong branch

Phanix
·
·
IPFS
·

人總是會有手殘眼糊腦弱的時候,總要有補救辦法。

今天遇到的狀況像是下圖這樣,原本是把 3d 這個 branch 做好的功能 merge 回去 ui 這條上,然後要繼續開發 3d 這個 branch 的新功能,不過做完 merge 之後忘記切回 3d 這個 branch,繼續 commit & push,然後就錯了…

解決的方法可以把 ui 這條拉回去前面的 commit


這樣的話只要透過

$ git checkout ui
$ git reset –hard 9ca06c3
$ git push -f
但這樣的話 merge 跟最新 commit 就都不見了,即使只有拉回去到 merge 那個點也是一樣。

所以解決的方式只好強制把 3d 這個 branch 也拉到跟 ui 一樣地方去

$ git checkout ui
$ git branch 3d -f
$ git checkout 3d
$ git push
然後再把 ui 這條 branch 往前面拉,變成像這樣

$ git checkout ui
$ git reset –hard 9ca06c3
$ git push -f
在ui branch上有新的commit之後就會變成這樣

其他可以參考https://blog.yorkxin.org/posts/git-rebase.html

Original link: Phanix's Blog

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!