Git核心概念精讲:分支、提交、合并与变基的实战理解
Git核心概念精讲:分支、提交、合并与变基的实战理解昨天帮同事排查一个线上问题,发现他的本地分支和远程仓库完全对不上。问他怎么操作的,支支吾吾说“就是来回切分支,然后pull了几次”。打开git log一看,好家伙,提交历史像一团乱麻,merge commit多到能织毛衣。这让我意识到,很多开发者用Git三五年,其实还在用SVN的思维在操作——只知道commit/push/pull,对分支、合并、变基这些核心概念的理解还停留在表面。从一次真实的合并冲突说起上周调试一个嵌入式驱动时遇到这么个情况:我在feature/gpio-optimize分支改了几行寄存器配置代码,同事在develop分支修复了同一个文件的时钟初始化逻辑。当我尝试把develop合并过来时,Git提示冲突了。 HEAD GPIOx-CRL = 0x44444444; // 我的优化配置 ======= GPIOx-CRL = 0x33333333; // 同事的修复 develop这时候很多人会直接选“用我的版本”或者“用他的版本”,但真正该做的是理解两边的修改意图。我的优化是为了降低功耗,他的修复是解决时钟毛刺问题。最终正确的合并结果应该是:GPIOx-CRL = 0x33333333; // 先应用时钟修复 /* 功耗优化配置在CRH寄存器实现 */ GPIOx-CRH = 0x88888888;
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2513391.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!