git revert是啥

Revert

通过指定一个commit id重做并生成一个新的commit id

git revert 6512d3da569a86974491cfa65fa60c1283f8d2e8

然后直接git push就好了

或者使用

git revert -n 6512d3da569a86974491cfa65fa60c1283f8d2e8

这也会撤销指定commit id的修改,这就会将指定commit id的修改放到工作区,但不会创建新的commit,需要你手动去git commit

Revert与Reset的区别

  • reset是指定的id后面的提交都不要了,如果指定的commit id后面有很多提交,使用git reset时,那些提交都不要了
  • revert是指定的id的提交不要了,仅仅指定commit id会重做

合并多个commit到一个commit

git rebase -i head~N

N代表的是想要合并提交的数量

这将会打开一个编辑器,按i

pick:使用commit。
reword:使用commit,修改commit信息。
squash:使用commit,将commit信息合入上一个commit。
fixup:使用commit,丢弃commit信息。

然后esc推出insert模式,然后输入:wq就可以了