2016-06-09 69 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