git log 出现Merge branch 'xxxx' of

发布时间 2023-08-30 16:41:20作者: winyh

场景:

多人合作开发时,同拉取远程仓库分支 Feature

A开发者拉取Feature分支代码后在本地开发并commit 过, 但并未push到远程仓库。

B开发者拉取Feature分支代码后在本地开发并commit, 随后push到远程分支。

 

这时A开发者再push代码到远程分支会提示先 git pull 

如果有冲突则解决冲突再push, 推送成功后,我们发现log 日志除了自己commit提交的信息

 

多了一条 Merge branch 'xxxx' of  into 'xxxx' 日志

原因:

执行git pull 其实是 fetch+merge 命令的合集,我们远程fetch 拉取更新,然后merge合并到本地分支。

 

备注:

如果远程分支超前于本地分支了, 本地代码未做任何 commit 操作, 直接 pull 远程分支也不会出现合并节点, 不会出现多余的 merge 日志信息

如果本地有commit操作,再去pull远程分支。此时远程分支和本地分支会出现分叉,这时候执行pull更新操作时就会进行分支合并产生合并节点,产生Merge log日志

 

解决办法:

合并代码前先进行变基操作: git pull --rebase (如有冲突手动解决)

 

git commit 回退操作

https://blog.csdn.net/qq_41261490/article/details/108119801

 

优缺点:

优点:执行变基操作,log 提交历史线被拉平成直线了,看上去更美观

缺点:本地的分叉提交已经被修改过了