Git 合并到底使用Merge还是Rebase
Git合并总选错,天天改历史还挨骂,到底该听谁的。这篇文章就是把我最近学Git合并策略时踩过的坑、问过的人、试过的命令,全写下来。没那些高大上的词,就讲人话,讲我咋想通的。以前觉得rebase高级,因为看别人log特别干净,一行一个提交,像写小说一样顺。
Git 合并到底使用Merge还是Rebase
在这篇文章中我们会比较git rebase和经常与之相提并论的git merge命令,并且在真实典型的Git工作流程中识别潜在的可使用rebase的场景。
Git 合并冲突总解决不完?我换了 3 种分支策略
Git 合并冲突总解决不完?我换了 3 种分支策略有次上线前合并代码,Git 报了十几个文件的冲突。手工解决花了三个小时,上线后还出了一个 BUG——有一个冲突我解决错了。后来我换了分支策略,冲突从每两周十几次降到了几乎为零。
git cherry-pick:只想要某个commit,不用全盘接收
你在公司负责一个电商项目的主分支 master。同事小张在 feature-cart 分支上写了一个购物车优惠计算的功能,代码非常漂亮。但他的分支里还夹杂着十几个调试用的临时commit、几个未完成的实验性代码,以及一个“删除数据库”的危险脚本。
修改历史:commit写错消息怎么办?
深夜,你终于改完了那个折磨人的Bug,心满意足地敲下:git commit -m "修复啦"然后推送到远程,回家睡觉。第二天早上,组长在群里@你:“你这个‘修复啦’是什么意思?到底修了什么?以后写清楚点。”你想改掉那条“黑历史”,但是已经push了,怎么办?
【原创】一张图快速理解 git merge 和 rebase 的基本区别
一张图快速理解 git merge 和 rebase 的基本区别,足以应对 merge 和 rebase 的通常场景下的使用。一图胜千言:图中实线圆圈表示一次提交 (git commit) ,虚线圆圈表示为某提交的引用为便于理解,决定将上图做一下分解:1.
git merge 和 rebase 差在哪?同一批提交跑 3 种合并方式实测
同一批 3 个提交、同一条主干,用三种方式合进去,结果完全不一样。merge 留下 7 个提交,rebase 剩 6 个,squash 只剩 4 个。冲突次数差得更直观:merge 只在中途停一次,rebase 要停三次,每个提交都得自己解一遍。
干货详解:三向合并和 Git 的合并策略,手把手教你Git 合并
这个例子理解原理之后解决方法有很多,这里简单带过两个方法:1. revert 节点 E'之后,此时的 dev 分支要抛弃删除掉,重新从 E'节点拉出分支继续工作,而不是在原 dev 分支上继续开发节点 D;
Git rebase 和 merge 到底用哪个,我用了 8 年才搞清楚
入行第二年的时候,我把团队 main 分支搞炸过一次。起因是我学了 git rebase,觉得它能让提交历史变干净,简直爱不释手。某天下午我对着已经 push 出去的分支用了 rebase -i 改了几个 commit message,顺手 push -f 上去。