git - 如何检查提交的 child ?

标签 git git-branch git-bash git-commit git-checkout

如何引用 HEAD 的 ahead 提交?

例如, HEAD 之后的 1 个提交是 HEAD~1。

如何相对于 HEAD 向相反方向移动?

基本上,我做了 3 次 git checkout HEAD~1。现在我想向前推进 1 次提交,有效地撤销我最后的 git checkout HEAD~1。我该怎么做?

我理解commits的一个分支就像一个单向链表,每个commits只指向它的parent。因此,如果遍历到提交的 child 是不合理的,我想知道如何在它们之间进行处理。

最佳答案

一个提交可以有无限的 child ​​。如果你想查看所有追溯到提交的历史,你可以

git log --all --ancestry-path ^$commit

或者只是

git branch --contains $commit
git tag --contains $commit

显示他们的名字。

随心所欲的显示选项。如果你想自动查找父级是特定提交的提交,你可以从

开始
child-commits() { 
        git rev-list --all --ancestry-path --parents ^$1^{} \
        | awk /$(git rev-parse $1^{})'/ {print $1}'
}

但是如果你只是想看看你去过哪里,使用

git reflog

显示是什么影响了您的 HEAD,以及原因。

关于git - 如何检查提交的 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35823994/

相关文章:

git - 如何在 Windows 上设置 git ssh 的多个身份?

linux - 在 RedHat 3 上安装最新的 git

git - 将 .bashrc 配置文件更新为 SSH 到 Windows 上的 Bitbucket

Windows 10 上的 Git Bash 忽略 Ctrl + C

windows - 有没有一种方法可以向git别名添加多个步骤?

android - 如何在 Android Studio 中将 git repo 从 Bitbucket 传输到 Github?

git - Git提取无法解决git checkout上的pathspec错误— *

git - 为什么 'checkout master' 花费的时间比 'checkout feature-branch' 长?

Git:无法识别的分支名称

git - 保持分支与 master 同步