背景
Git冲突的原因,一般是修改了同一个文件导致的,这个文件有可能是别人提交到远程仓库里面,还有就是需要合并这个文件导致的。
解决方法你确定你需要的是哪个仓库的文件
git checkout --theirs conflicted_file.txt # 保留远端的 git checkout --ours conflicted_file.txt # 保留本地的
然后执行add和commit
git add -A git commit -m "update conflict
举个栗子
获取远端服务器上的文件,提示冲突了需要合并
# git cherry-pick FETCH_HEAD * branch refs/changes/85/12385/3 -> FETCH_HEAD error: 'cherry-pick' is not possible because you have unmerged files. hint: Fix them up in the work tree, hint: and then use 'git add/rm ' as hint: appropriate to mark resolution and make a commit, hint: or use 'git commit -a'. fatal: cherry-pick failed
查看当前仓库的状态
# git status Not currently on any branch. You are currently cherry-picking commit 53e5374. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --abort" to cancel the cherry-pick operation) Unmerged paths: (use "git add ..." to mark resolution) both modified: file1.txt
用提示的命令执行
# git cherry-pick --continue U file1.txt error: 'commit' is not possible because you have unmerged files. hint: Fix them up in the work tree, hint: and then use 'git add/rm ' as hint: appropriate to mark resolution and make a commit, hint: or use 'git commit -a'. fatal: Exiting because of an unresolved conflict.
提示file1.txt有更新,确定替换为远程仓库的文件。这里用theirs
git checkout --theirs file1.txt
然后添加到本地仓库
git add -A
最后继续cherry-pick「复制」
# git cherry-pick --continue [detached HEAD 8f26ce8] Summary : test git checkout --theirs Author: Rik 2 files changed, 0 insertions(+), 0 deletions(-)
小结
git ckeckout 和 带参数的–ours和 –theirs还是有区别的。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。