git入门(4)-Git rebase

每一次,当我们埋头苦干的时候,好像时空都静止了。一转头才发现,天已经渐渐亮起。想把今天的工作提交,却发现服务器的HEAD已不是昨天的它。这时候是不是倍感凄凉?还好有

git rebase master

使用git rebase master可以做到一些事情:
1.首先,它定位你当前检出分支和master之间的共同祖先节点(common ancestor)。
2.然后,它将当前检出的分支重置到祖先节点(ancestor),并将后来所有的提交都暂存起来。
3.最后,它将当前检出分支推进至master末尾,同时在master最后一次提交之后,再次提交那些在暂存区的变更。

此命令可以将本地的提交更新到上游的头位置。Git 在执行任何其它操作之前将会自动执行git checkout master

git rebase master topic

这条命令实际上是执行了以下两条命令:

git checkout topic

git rebase master

另外,在开发过程中,如果需要完成某个功能,需要创建并切换到某个分支,并且在这个分支上完成开发。如果项目比较大,并且经常被打断的情况下,就需要在本地进行多次的commit。这样在最终提交的时候,需要把所有的提交归纳为一次提交,这时就需要进行rebase操作。

git checkout -b branch_name

完成相应的操作。
在提交之前执行rebase。

git rebase -i HEAD~3

并且修改pick为squash,例如:

Pick commit1
Pick commit2
Pick commit3

修改为:

Pick commit1
squash commit2
squash commit3

当然也可以批量修改,在命令行里使用%s/pick/suash/g。

注意:第一个pick不要做修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值