当在其父提交图中没有包含它们的标记或分支时,将创建孤立提交。例如,如果您创建一个分支foo
,添加提交a
和b
,然后删除该分支(即foo
从提交中删除引用b
),那么除非您保存了它们的哈希值,否则两者都a
将b
无法访问。
x-x-x-x <- master
\
a-b <- foo (reference then deleted or reset to somewhere on master)
孤立提交的基本 Git 行为是最终垃圾收集并删除它们(我听说默认值至少为 30 天)。
我的问题是这样的:
git clone
Git 是否会使用、git fetch
或git push
命令将孤儿提交从一个 repo 移动到另一个 repo ?
或者对于任何不直接调用孤儿哈希的操作(例如checkout
or cherry-pick
),Git 是否有效地忽略了这些提交?