git commit合并

转自: http://sumsung753.blog.163.com/blog/static/146364501201312514427364/

有时commit太多,而且可能一个commit只是提交一个小bug,那么合并commit势在必行。
有两种方法:
一是在提交最后一个修改的commit使用参数,这时之前的一个commit将会合并到这个即将提交的commit中来:
git commit -a --amend -m "my message here"如果之前有一个提交,并且信息为:
git commit -a -m "my last commit message"

则这个commit message将不存在。但该commit的信息已经合并到"my message here"中了。

第二个是,如果你提交了最后的修改,这时可用:
$ git reset --soft HEAD^ #或HEAD^意为取消最后commit
$ git commit --amend

这将会把最后一个commit合并到前一个提交中去,例如(由上往下读):
git add b.text
git commit -a -m "my message here"
git add a.text
git commit -a -m "my last commit message"

那么最后存在的将是"my last commit message"。也可后退n个,合并到前面第n+1个commit中去:
$ git reset --soft HEAD~n #后退到第n,我也不清楚具体含义。
$ git commit --amend [-m "new message"]

我觉得最方面的是调用reflog查看操作历史,找到具体的commit id,然后直接git reset --hard [commit_id]就回到你要的版本!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值