我想将一个提交(使用其特定的 SHA-1 标签)从一个分支复制到另一个分支。我希望它是一个精确的副本,从而产生相同的 SHA-1 标签。
如何才能做到这一点?
我想将一个提交(使用其特定的 SHA-1 标签)从一个分支复制到另一个分支。我希望它是一个精确的副本,从而产生相同的 SHA-1 标签。
如何才能做到这一点?
这是不可能的。提交的 SHA-1 哈希是使用父提交的哈希、提交消息内容和提交树计算的。
这意味着当父提交更改时(它会更改,除非您的分支指向相同的提交),SHA-1 也会更改。
如果您的用例是要知道樱桃选择源自哪个提交,请使用-x
to 选项git cherry-pick
,这会将选择的提交 ID 添加到提交消息中。
git merge
将保留 SHA1 哈希,因此如果您git merge branchB
使用branchA
,则提交应该具有相同的 ID。当然,这不适用于单个提交,但它适用于整个分支。