參考文章
- http://www.rosipov.com/blog/use-vimdiff-as-git-mergetool/
- http://yodalee.blogspot.tw/2013/03/vimdiffgit-merge-conflict_28.html
以前我用 kdiff3, 後來需要在 terminal merge, 改試 vimdiff, 也很好用。
設定:
$ git config --global merge.tool vimdiff
執行 (在 git merge 有 unsolved conflict 後):
$ git mergetool
UI 顯示:
- 左上: LOCAL
- 中上: BASE
- 右上: REMOTE
- 下面: 編輯區
vim 指令:
- [c, ]c: 在 hunk 間移動, 和 vim-gitgutter 一樣
- 搜 "<<<<" 找 conflict
- :diffget LOCAL: 目前的 hunk 選用 LOCAL
- :diffget REMOTE: 目前的 hunk 選用 REMOTE
- :diffupdate: 更新 diff 畫面
修改後存檔離開, 會自動 resolved conflict。無修改離開會跳過 merge, 維持原本狀態。
其它
查看 merge 狀態:
$ git status
如果整份檔案都要選用 LOCAL, 改用 git 指令:
$ git checkout --ours
全用 REMOTE:
$ git checkout --theirs
沒有留言:
張貼留言