在pull 的时候发生了冲突,
Your local changes to the following files would be overwritten by merge:
Please commit your changes or stash them before you merge
如果需要保留自己本地的修改,就依次执行以下命令即可
git status
git stash
git pull
git status
git stash pop
如果放弃本地修改,也直接覆盖
git reset --hard
git pull
多人协作开发项目,在上传代码时通常会先pull一下远程代码,使本地与远程同步更新,但是如果远程此时与自己代码存在冲突,在解决冲突后提交有时会出现“Merge branch ‘master’ of …”这条信息。这是因为pull其本质是fetch+Merge的结合。通常会分为以下两种情况:
1.如果远程分支超前于本地分支,并且本地也没有commit操作,此时pull会采用’fast-forward’模式,该模式不会产生合并节点,也即不产生"Merge branch ‘master’ of …"信息。
如果冲突,报错,pull失败,提示commit
2.如果本地有commit提交,此时若存在冲突,pull拉取代码时远程和本地会出现分叉,会进行分支合并,就会产生"Merge branch ‘master’ of …"信息。
commit后,pull 成功再push 会产生记录
解决方法
使用git pull --rebase命令,如果没有冲突,则会直接合并,如果存在冲突,手动解决冲突即可,不会再产生那条多余的信息。如果你不想每次都rebase,可以在git bash里执行
git config --global pull.rebase true
1
这个配置就是告诉git在每次pull前先进行rebase操作。