git合并commit方法

最近在改新公司的原有代码,中间提了很多commit,但是往release和需要领导审批,所以就等到最后上线前再一次性合到release分支,但是过多的commit会造成后期维护麻烦等问题(其实也不算问题),所以领导就提出让把commit合并一下,给建议说用rebase squash的方式,不过我以前没这么用过,最后导致HEAD指针错乱,连领导也懵逼了。不过好在这时邻组大神过来,用git reset分分钟搞定了,我觉得又学到了知识,所以这里记录一下。

rebase这个方法就不说了,我还没试成功,先说一下reset的方式,比如我的分支里有10个commit(是已经git commit过的,没commit的请先commit),现在想要把这些commit合并为一个提交首先是git log确认一下你确实有10个commit要合并(别小看这步,程序员犯错绝大多数都不是技术问题),然后git reset --soft HEAD~10,至于--soft的作用参见文章最后的链接,简单来说就是回退到第11commit,让这10个commit进入暂存区,变为待提交状态,此时如果git status 会看到待提交的问题,git commit -m "xxx"重新提交,然后git push -f 到远端分支即可,此时看到的commit就只有1个xxx而不是10个了。

最后附上参考文献:http://blog.csdn.net/hudashi/article/details/7664464/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值