git 怎么合并多个commit为一个commit?

git 怎么合并多个commit为一个commit?

阅读 4.4k
3 个回答

reset之后重新提交就行了,但是如果你已经push到中央仓库,你可能必须要在这之后push -f强行推送了。

先看git log的输出,比如:

$ git log
commit sha1-first
...

commit sha1-second
...省略...

commit sha1-n
...

比如你现在要将sha1-1 - sha1-n的提交合并,那么需要先记下sha1-n的sha1码,reset到这个地方:

$ git reset <sha1-n>

不用担心,这个操作是安全的,reset的默认行为只是reset提交记录,是不会回滚代码的,除非你加上--hard参数。

然后再重新提交一次就行了:

$ git add .
$ git commit

如果你之前已经push过一次,这时候git status应该会提示你用push -f强推:

git push -f
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题