git lab提交记录中有 merge branch ‘xxx‘ of of http:xxx into xxx

git lab提交记录中有 merge branch ‘xxx‘ of of http:xxx into xxx_第1张图片

 git lab提交记录中有 merge branch ‘xxx‘ of of http:xxx into xxx_第2张图片

git lab提交记录中有 merge branch ‘xxx‘ of of http:xxx into xxx_第3张图片

 

在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操作。

 

你可能感兴趣的:(git,git)