解决冲突
当本地代码与服务器提交有冲突时,会出现以下错误提示,并进入MERGING状态。
CONFLICT(content):Merge conflict in XXXX/XXXX
AutoMatic merge failed;fix conflicts and then commit the result.
解决方法:
退出MERGING 状态:git reset --hard head
XXXX/XXXX为当前出现冲突的文件,本地找到目标文件,目标文件中会有冲突提示:
<<<<<<<< HEAD
你的代码
===========
别人的代码
>>>>>>>>>> xxxxxxxxxxxxxxxxxxx
根据情况进行修改。
1.重复的修改,则选择删除其中一段代码,再把冲突标识符(<< == >>三行)删除
2.均须保留,则直接删除冲突标识符
冲突解决后再进行提交。
删除历史提交
在协作开发的过程中,会有许多人为因素出现包含错误、安全漏洞、敏感信息等的不良提交。如果这些不良提交已经被合并到主线分支,就可能会对项目的其他部分造成负面影响出现不良提交后果,此时需要进行删除历史提交:
#查看历史提交,找到需要删除的提交并记录SHA(commit 后的字符串),按q退出
git log
#打开编辑器,进入需修改的提交,SHA替换成需要修改的SHA
git rebase -i SHA
进入编辑器后将编辑器中pick 改为drop,按ESC,:wq回车保存退出
再次输入git log 会发现提交已被删除。