Git 比较 两个分支之间的“提交差异”

从master分支拷贝一个新分支,命名为fixBug。

修改若干文件后,做了第一次提交,提交描述为:提交描述1。

修改若干文件后,做了第二次提交,提交描述为:提交描述2。

此刻,想看看有哪些提交是fixBug分支上有,而master分支上没有的:

$ git log fixBug ^master
commit 693f162e7b8f99ef9b15db4ff16c6f5870e5b7f9 (HEAD -> fixSSo)
Author: zhangsan <zhangsan@xxx.com>
Date:   Wed Feb 24 20:12:35 2021 +0800

    提交描述2。

commit 96246b73502661ce3db73122c6152fb886aeb107
Author: zhangsan <zhangsan@xxx.com>
Date:   Wed Feb 24 20:07:21 2021 +0800

    提交描述1。

想看看有哪些提交是master分支上有,而fixBug分支上没有的:

$ git log master ^fixBug

可见,在fixBug分支上开发期间,master分支上没有新的提交。

如果上述命令有返回值,就说明别人已经向master分支有提交,应该尽早将这些提交内容merge到当前分支,即fixBug分支。

最佳实践,master分支不要给开发人员权限,而是交给持续集成(Continuous Integration,CI)工具,这样能防止发生低级错误。例如,fixBug分支开发、测试完毕了,使用CI工具准备上线。上线前,CI工具可以通过Shell脚本等进行如下校验:有哪些提交是master分支上有,而fixBug分支上没有的。如果有,那就停止上线,提示用户:fixBug分支没有包含master分支上所有的提交,需要进行merge操作,否则就有功能遗漏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值