复制分支之间的单个提交,保留SHA-1标记

时间:2012-08-27 16:36:12

标签: git version-control git-merge

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

如何做到这一点?

2 个答案:

答案 0 :(得分:5)

无法做到。提交的SHA-1哈希是使用父提交的哈希值,提交消息内容和提交树计算的。

这意味着当父提交发生更改时(除非您的分支指向同一个提交,否则它将发生更改),SHA-1也会更改。

如果您的用例是要知道发起了哪个提交,请使用-x选项git cherry-pick,这会将选择的提交ID添加到提交消息中。

答案 1 :(得分:0)

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