3

我想将一个提交(使用其特定的 SHA-1 标签)从一个分支复制到另一个分支。我希望它是一个精确的副本,从而产生相同的 SHA-1 标签。

如何才能做到这一点?

4

2 回答 2

6

这是不可能的。提交的 SHA-1 哈希是使用父提交的哈希、提交消息内容和提交树计算的。

这意味着当父提交更改时(它会更改,除非您的分支指向相同的提交),SHA-1 也会更改。

如果您的用例是要知道樱桃选择源自哪个提交,请使用-xto 选项git cherry-pick,这会将选择的提交 ID 添加到提交消息中。

于 2012-08-27T16:41:24.687 回答
1

git merge将保留 SHA1 哈希,因此如果您git merge branchB使用branchA,则提交应该具有相同的 ID。当然,这不适用于单个提交,但它适用于整个分支。

于 2012-08-27T17:56:29.213 回答