git log 出现Merge branch 'xxxx' of
场景:
多人合作开发时,同拉取远程仓库分支 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 (如有冲突手动解决)
优缺点:
优点:执行变基操作,log 提交历史线被拉平成直线了,看上去更美观
缺点:本地的分叉提交已经被修改过了
git commit 回退操作
https://blog.csdn.net/qq_41261490/article/details/108119801
https://blog.csdn.net/qq_41091006/article/details/125293817
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决