可以有 git 提交,指向同一棵树吗?
Can there be git commits, that point to the same tree?
我知道多个 git 树可以指向同一个 blob。当我们只更改文件名并再次提交时,就会发生这种情况。但是可以有 git 提交,指向同一棵树吗?如果是,什么时候发生?
当然......一个常见的,没有想太多:当你恢复修订时,如果你最终得到同一棵树(或在恢复许多修订的过程中有几棵树)......好吧,给你了。
是的。这很常见。在某些情况下,您可以创建与另一个提交指向同一棵树的新提交。
使用git commit --allow-empty
创建一个空的提交,它和它的父节点有相同的树。空提交没有任何更改。
git commit && git revert
创建一个与其父项的父项具有相同树的还原提交。
git commit-tree ${foo}^{tree}
创建一个与 foo
具有相同树的提交。 foo
是一个 commit-ish。
基于相同的提交,提交相同的更改。重复这些步骤,您会得到指向同一棵树的不同提交。
我知道多个 git 树可以指向同一个 blob。当我们只更改文件名并再次提交时,就会发生这种情况。但是可以有 git 提交,指向同一棵树吗?如果是,什么时候发生?
当然......一个常见的,没有想太多:当你恢复修订时,如果你最终得到同一棵树(或在恢复许多修订的过程中有几棵树)......好吧,给你了。
是的。这很常见。在某些情况下,您可以创建与另一个提交指向同一棵树的新提交。
使用
git commit --allow-empty
创建一个空的提交,它和它的父节点有相同的树。空提交没有任何更改。git commit && git revert
创建一个与其父项的父项具有相同树的还原提交。git commit-tree ${foo}^{tree}
创建一个与foo
具有相同树的提交。foo
是一个 commit-ish。基于相同的提交,提交相同的更改。重复这些步骤,您会得到指向同一棵树的不同提交。