如何解决Git多人提交,错综复杂的时间线 pull --rebase

本文介绍了Git多人协作中如何避免复杂的提交记录,重点讲解了`pull`与`pull --rebase`的区别。通过实例解析,阐述了`pull --rebase`如何将并行的提交合并成线性历史,以及它在处理冲突时的注意事项,帮助开发者理解更清晰的版本控制策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

pull 例子:

pull 真实例子:

如何规避错杂复杂的提交记录?

1.在commit 之前,先pull最新代码,然后再commit,并且立刻push。

2.用pull --rebase

pull --rebase

pull --rebase 真实例子:

对比实例


首先,常用的拉取代码有两种:

pull、pull --rebase

git pull = git fetch + git merge FETCH_HEAD

git pull --rebase = git fetch + git rebase FETCH_HEAD

他们两个的区别,主要是fetch远程后,进行代码合并的时候有不同的操作。

pull 例子:

在 版本B 时刻,张三、李四都pull到最新的 版本B。然后,张三、李四分头进行开发。

张三先在本地commit 版本C

然后李四在本地commit 版本D、E

张三再在本地commit 版本F,然后push(此时push不会失败,因为远程版本还是停留在版本B)

李四再在本地commit 版本G,然后push(此时李四push失败,因为远程版本已经被张三push成了版本F)

       ----D---E----G---  李四
      /
 A---B---C--------F-----  张三

所以,李四需要先pull。在pull的过程中,git会提示远程已经是版本F了。但由于版本F实际commit的时间是在李四本地提交的 版本D、E之后的,这里就 可能 存在冲突,所以git会自动生成一个merge记录H 并且让你填写注释。

       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值