版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cadi2011/article/details/85227056
0、git pull,爆出一个错误,pull failed
Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.
你本地修改的将会被合并覆盖。要么提交、要么存储起来或者回退掉修改的内容,才能继续进行
1、分支肯定是同一个分支撒,即本地分支与远程分支,目前是同一个
2、解决方案,按照提示来说,就是三种办法
a、你先提交自己对文件的修改,再去拉代码
git add . #修改放到暂存区
git commit -m '哥不服' #提交到本地仓库
git push #假设就一个远程分支,该省略的全省了
b、你先把自己修改的内容藏起来
git stash #先把自己的修改都存储起来
git pull #拉新代码
git stash pop #再把存储的代码拿出来,在本地仓库自动合并
git stash list 可以看到使用git stash保存的信息
扫描二维码关注公众号,回复:
4669000 查看本文章
git stash clear 清空stash栈
git diff -w +文件名 来确认代码自动合并的情况
自动合并时,如果git拿捏不定,还是告诉你,由你来决定怎么合并(会提示这个
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
)
转载一个老大的
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容
3、远程分支为准,自己在本地的修改不要了
git reset --hard #放弃本地修改
git pull #拉远程分支代码