Chr*_*dal 41 git merge mergetool
可以提交包含冲突数据的文件.有没有办法再次将这些文件标记为冲突,以便运行git mergetool将生成必要的文件并运行合并工具?
Gin*_*ngi 24
如果索引已经处于冲突状态,只需使用--conflict=merge标志检出文件:
git checkout --conflict=merge file
Run Code Online (Sandbox Code Playgroud)
如果索引是干净的,因为[错误地]添加了未解析的文件,只需在检出之前重置它:
git reset file
git checkout --conflict=merge file
Run Code Online (Sandbox Code Playgroud)
这将允许您正常恢复冲突解决(例如git mergetool).
注意:根据@fourpastmidnight的请求,将对@jakub-narębski的答案的评论推广到自己的答案中.:)
Jak*_*ski 22
您可以使用冲突标记获取文件内容git checkout --conflict=merge -- file,但如果您已使用git add file(或者如果GUI为您执行了此操作)清理了索引,则它将无效.
有git update-index --unresolve,但它是hacky,并没有非常可靠的工作.我认为它恢复的状态对于git-mergetool来说是不够的.
您可能需要重做合并,或者用于git update-index --cacheinfo手动设置阶段版本... git-stash可以帮助您保持正确解决的冲突.
最优雅的解决方案是从一开始就防止这个问题:
git config --global mergetool.[tool].cmd [command-line call]
git config --global mergetool.[tool].trustExitCode false
| 归档时间: |
|
| 查看次数: |
9198 次 |
| 最近记录: |