我有可能找到提交的孩子吗?我在手册页或其他人的建议中找到的所有命令通常都涉及分支名称。
我有效地做的是:我有一个提交树:
A-B-C-D
^
我的分支指向 D。
然后我回滚到 C,并提交 E:
A-B-C-D
\
E
^
然而git rev-list
,在 Sourcetree 或可视化工具(如 Sourcetree)中,毫不奇怪,它显示为
A-B-C-E
^
没有参考 D。
显然,提交 D 仍然在我的仓库中,但是没有提交 ID,我很难找到它。是否有显示提交的子项的命令,无论它们在哪个分支上,或者它们是否在一个分支上?
编辑
从下面 Nevik 的回答来看,--all
似乎没有显示未引用的提交。采用这个提交结构:
> git log --graph --oneline
* 0ff0f06 d
* ac06e14 c
* 3c45cce b
* b3aa730 a
然后回滚到 c:
> git reset --soft ac06
> git log --graph --oneline --all
* ac06e14 c
* 3c45cce b
* b3aa730 a
然后重置回d:
> git reset --soft 0ff0
> git log --graph --oneline --all
* 0ff0f06 d
* ac06e14 c
* 3c45cce b
* b3aa730 a
所以提交肯定仍在回购中。