我想将提交(使用其特定的SHA-1标记)从一个分支复制到另一个分支。我希望它是一个精确的副本,产生相同的SHA-1标签。
如何做到这一点?
答案 0 :(得分:5)
无法做到。提交的SHA-1哈希是使用父提交的哈希值,提交消息内容和提交树计算的。
这意味着当父提交发生更改时(除非您的分支指向同一个提交,否则它将发生更改),SHA-1也会更改。
如果您的用例是要知道发起了哪个提交,请使用-x
选项git cherry-pick
,这会将选择的提交ID添加到提交消息中。
答案 1 :(得分:0)
git merge
将保留SHA1哈希值,因此如果您git merge branchB
上的branchA
,则提交的ID应该相同。当然,这对单个提交不起作用,但它适用于整个分支。