今天项目上的一个V4.1的版本票终于在拖了一个多月后打算合并了,合并到V4.3,因为此时V4.3发生了大量的变更,使用no commits的选项拉下来有300多条变更,已经大量的文件,再加上之前使用fork使用了squash没有变回来,导致我默认的merge into之后github上的pr出现了300多个files change。
情况就是这么个情况,特此学会了使用rebase:
与merge不同,rebase通常会“重新播放”当前分支上的所有提交,将它们应用于另一个分支的顶部。这种方法的好处是可以创建一个更清晰的、线性的提交历史记录。
1.切换到另一个分支:
git checkout other-branch
2.将此分支的变更合并到你的分支,但是使用rebase:
giit rebase your-branch
3.如果出现了冲突,请在编辑器中打开文件并且手动解决,之后,使用git add将文件标记为解决
4.使用下面的命令继续应用变更并且合并:
git rebase --continue
5.如果需要进行更多的冲突解决或者进行其他操作,可以使用下面的命令停止交互式rebase:
git rebase --abort
这个方法下来的好处就是避免了使用merge导致多了一个commit记录。如果你希望创建一个更加整洁,更加连贯的提交历史记录,rebase可以是一种有用的方式。