Git 文件冲突处理
Contents
记录 Git 文件冲突的处理过程。
0x00
报错 Your local changes to the following files would be overwritten by merge
该报错在 git pull 时出现,一句话解释就是你在本地改动了代码但是还没有提交,此时再拉取最新代码,远程代码和你当前的本地代码发生冲突!(注意有冲突时才会提示,如果没有冲突,则 git pull 成功,因为 git pull 实质上就是一个远程分支 merge 到本地分支过程。
解决方案
方法一:本地代码 commit 后再 pull(推荐)
# 先把当前修改的工作区内容提交了 |
方法二:使用 stash
# 备份当前的工作区的内容,让工作区变为和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中 |
0x01
报错 please move or remove them before you can merge
在项目根目录下运行 git clean -d -fx .
x —– 删除忽略文件已经对 git 来说不识别的文件
d —– 删除未被添加到 git 的路径中的文件
f —– 强制运行
0x02 直接修改上一次的 git commit
review 过后要改代码,但就是不想再额外加一个 commit,这样搞的话很多 commit 很杂乱,也要重新写 commit message 比较麻烦
1、改完代码后,add:
git add 你的代码文件 |
2、然后
git commit --am |
3、此时应该会弹出 vim 编辑器界面,里面内容是你上次 commit 的 message 内容
直接 :q 退出就好,因为我们就是要原封不动的使用上次的 message
4、最后 git push
会发现 commit 没有增加,上一次的 commit 的 diff 已经应用上了你刚才的代码修改