我有两个 git 分支:Alpha 和 Beta,我需要在 Alpha 分支上创建下一个提交,这样它的项目状态就会与在 Beta 分支上完全一样。没有 merge 。
我知道每个 git 提交——在逻辑层面上——都是一个完整且不可变的项目状态 + 一些元数据。所以我只需要分支 Alpha 拥有与 Beta 一样的文件状态。
这将是另一次提交(具有不同的散列),并且一个分支提示不会引用另一个。
最佳答案
c=$(git commit-tree Beta^{tree} -p Alpha -m 'foo')
test $c && git update-ref refs/heads/Alpha $c
git commit-tree
创建一个新提交,其树与 Beta 的 tip 相同,其父级为 Alpha 的 tip。
git update-ref
让 Alpha 指向新的提交。
关于git - 如何使下一个 git 提交准确地表示另一个提交的项目状态而无需 merge ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51905998/