Git Rebase:Git中的后悔药

如果你没有睡醒或是没有吃饱那么Commit的时候你可能会写错别字

别笑我刚就写错了

为了避免Push到仓库被人笑话的尴尬要想办法修改Commit才行

git commit --amend

成功回退到上次Commit的界面

但是在提交完这次Commit我才发现上次Commit的错误--amend只能回退一次并不能解决问题

那么后悔药Rebase来了

git rebase -i HEAD~2

进入到了Vim的界面修改错别字那个commit前面的pickedit保存

这时时光倒流……这时HEAD被设置到了你错误的commit的那次提交

git commit --amend

YES这就是那个尴尬的提交赶紧更正错别字保存

好了错别字是更正了但是怎么回去不能丢掉最后一次的Commit

git rebase --continue

Push搞定

由于git的数据结构的特性从被修改的提交开始到后面的所有提交的hash全部会发生变化

如果在这之前你已经Push此时必须使用force-push推送你的更正后的版本避免冲突如果有人在你更正前pullpush时就会再次发生冲突所以建议在commit的时候谨慎操作push后尽量避免force-push