整理本地多次commit

1.背景

在接到一个需求之后,首先做的是git clone一份完整的代码下来.我个人的习惯是一个大的任务分成多个小任务,分次提交到local git server,全部完成了再整理log成1笔或者2笔,再push上去.

2.用到的命令

> git rebase -i  //选择一次commit ,并rebase在它上面
> git commit --amend //修改上一次提交的log

3.过程

1.假设目前的local commit 的情况是下面这样的:
    > git log --oneline 
  可以看到:
      d23f4fd modify contents
      f851b83 modify contents
      89b49e2 add up test files
      fb3cb18 first commit


2.现在开发已经完成完成了,需要整理本地的commit,我想把最近的3笔commit都合并到fb3cb18里面去.就要把不变的
那笔commit ID 输进去.
    > git rebase -i fb3cb18 

接着git就会提示:
    pick 89b49e2 add up test files                                                        
    pick f851b83 modify contents
    pick d23f4fd modify contents

然后下面还跟着一堆使用说明:
    # Rebase fb3cb18..d23f4fd onto fb3cb18 (3 command(s)) 
    //说明把上面的4次commit重新基于(rebase) fb3cb18进行提交.我们只要把上面
      的pick换成squash(压缩),就能够合并这几笔commit了.

修改后的内容如下:
        squash 89b49e2 add up test files                                                        
        squash f851b83 modify contents
        squash d23f4fd modify contents

保存并退出.


3. > git log --oneline 可以看到:
        fb3cb18 first commit

只剩这一笔commit了,但是很明显这个log讯息不是我想要的.我需要再修改一下这个log.


4. > git commit --amend 
    我重新输入我想提交的讯息: implement XXX function. 保存并退出

   > git log --oneline 可以看到: 
        1fb6d6a implement XXX function 

    说明log 已经整理完毕了,在提交之前和server做一次同步的动作,就可以git push 啦!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值