git冲突之git pull时,同一个文件,远程仓库里已经修改了,不幸的是你在本地仓库也修改了

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 #拉远程分支代码

猜你喜欢

转载自blog.csdn.net/cadi2011/article/details/85227056
今日推荐