今天拉取其它的分支代码下来合并的时候,出现了错误:
Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.Please, commit your changes or stash them before you can merge.
原因是我所在的分支和拉下来的分支都修改了同一个文件。所以按情况来进行处理。
(1)自己所在的分支出现冲突的文件的代码不是自己想要的,可以直接覆盖。
git reset --hard 或者 git checkout -t -f remote/branch
(2)自己所在的分支和拉下来的分支都想要。
首先把自己改动的部分隐藏起来:git stash
接着合并:git merge origin/对方的分支
这时候可能还会出现:Auto Merge Failed; Fix Conflicts and Then Commit the Result
那么接下来需要我们手动修改冲突的文件,查看冲突的文件:git status
此时需要对unmerged的文件进行手动修改,删掉其中冲突的部分,然后运行如下命令
git add filename
git commit -m "message"
提交完成后,取回自己所在分支修改的文件: git stash pop
如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以 运行如下命令:git reset --hard HEAD