2016-06-09 72 views

回答

1

签名提交将更改提交元数据,从而更改底层的SHA1提交ID。正如你可能知道的,对于Git来说,这与试图改变历史内容的结果是一样的。

如果你只想重新签订上次提交你可以运行:

git commit -S --amend

如果要重新登录,您的历史中间的承诺,你可以做几件事情,如果你问我,他们都有点讨厌:

  1. 你可以reset --soft来提交你想签名。运行git commit -S --amend,然后提交所有分阶段更改。这将合并所有您的历史后,承诺进入一个单一的承诺
  2. 支出(安全)和reset --hard到你想签名的提交。对其进行签名,如果您想保留提交历史,您现在可以git cherry-pick NEXTCOMMIT -S重新构建整个已签名的历史记录。
+0

我正在使用'--amend -S'作为我的上次提交,但我无法在历史记录中做同样的事情。太好了,谢谢@bitoiu – chalasr