场景四:Git Rebase整理提交记录

一般我们在软件开发的流程中,开发者要把自己修改的代码根据功能拆分成一个个相对独立的提交,一个提交对应一个功能点,而且要在对应的commit log message里描述清楚。在合并和推送之前检查修改提交记录时常需要进行此操作。

场景四实际就是在场景三团队项目工作流程中增加一步“Git Rebase”,即在mybranch分支上完成工作之后,为了让我们更容易回顾、参考log记录,用git rebase命令重新整理提交记录。

注意:不要通过git rebase对任何已经提交到远程仓库中的提交记录进行修改。

git rebase命令的格式大致如下:

git rebase -i [startpoint] [endpoint]

 其中-i的意思是--interactive,即弹出交互式界面让用户编辑完成合并操作,[startpoint] [endpoint]指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支的HEAD。

一般只 指定[startpoint],即从某一个提交节点开始,可以使用HEAD^^,HEAD~100、commitID或者commitID的头几个字符来指定,比如下面的命令指定重新整理HEAD之前的3个提交节点。

git rebase -i HEAD^^^

 我们先用git log查看一下以往版本的提交记录。

 再执行git rebase -i HEAD^^^(重新整理HEAD之前的3个提交节点)

如果我们删除了Listener3版本,即删除了"pick d2ac03a Listener3"这一行,如下图所示。

 然后输入:wq按Enter键保存退出,可以看到以下提示。

 这时用VSCode打开冲突文件,冲突提示如下图所示。

 可以根据提示选择保留哪个更改,也可以直接编辑文件去掉提示信息。

 解决冲突后需要将修改后的文件存入暂存区,最后执行以下命令完成整理。

git add .
git rebase --continue

 删除的Listener3版本的内容很可能会合并到Listener4版本,这时往往需要重新修改Listener4版本的提交日志消息,因此在完成操作之前需进入文本编辑器修改Listener4版本的提交日志。保存退出后即可完成整理操作。

 

 这时查看提交日志可以发现Listener3版本已经不存在了。

 最后,和场景三的第四步一样,先切换回master分支,将最新远程origin/master分支同步到本地存储库,再合并mybranch分支到master分支,推送到远程origin/master分支之后即完成了一项开发工作。

 查看提交日志

 在gitee中查看提交分支


以上内容为中科大软件学院《高级软件工程》课后总结,感谢孟宁老师的倾心教授,老师讲的太好啦(^_^)

参考资料:《代码中的软件工程》    孟宁  编著

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青衫客36

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值