本文参考了https://blog.csdn.net/iefreer/article/details/7679631以及http://www.01happy.com/git-resolve-conflicts/
在本地做了一些print测试(修改了文件univ/prediction.py 和univ/script/predict.py ),不想被服务器上的别人的修改覆盖,如果两者有冲突,就无法通过git pull将代码merge,导致git pull失败,解决办法是一步步来,先把本地存起来,再把服务器上代码拉下来,再解决merge冲突:
$ git stash #将本地修改暂存起来(使用git stash list可以查看)
$ git pull #把服务器上修改拉下来
$ git stash pop #还原本地修改,与服务器上修改merge
当merge有冲突,如显示:
Auto-merging univ/prediction.py
CONFLICT (content): Merge conflict in univ/prediction.py
那么,就先在本地代码层面修改处理冲突,然后
$ git status #看看状态,univ/prediction.py没有被跟踪
$ git add univ/prediction.py #跟踪这个文件
$ git pull #再把服务器上代码拉下来进行merge,这时因为没有冲突了,可以正常merge
不想提交print测试,就不跟踪这几个本地修改的文件
$ git reset univ/prediction.py univ/script/predict.py
注: 以上可能有考虑不周之处,但是基本原则正确,以后再做补充