如何确定主人,出身,头部

时间:2012-01-11 20:19:37

标签: git version-control git-branch

我发现自己迷失在git分支中。

如果我在任意git分支中,如何确定我的origin / master / head是什么?

通过这种方式,我可以预测命令的效果,例如here所示的命令。

4 个答案:

答案 0 :(得分:7)

从你的问题中不清楚你完全理解起源,主人和HEAD所指的是什么 - 只有其中一个实际上是一个分支。 (而且它是HEAD,而不是头脑。)很可能你的一些困惑源于对几个核心事物缺乏了解,所以你真的很好地阅读像Git Book这样的引用(你链接了to),从头开始。您可能也会欣赏Git Parable,它提供了对Git基本概念的友好,故事般的描述。

HEAD指的是当前签出的提交。它通常通过分支机构这样做; HEAD指向分支,指向提交 - 所以通常我们只讨论检查分支的内容。因此,您似乎要么询问如何确定已检出的分支,或者该分支指向的提交。您可以使用git branch确定当前分支,还可以列出其他分支。如果您想了解有关分支指向的提交的更多信息,可以使用git show(相当于git show HEAD)。

master是为在新存储库中自动创建的分支指定的默认名称。约定(几乎普遍遵循)是主分支是稳定分支,表示存储库的规范当前内容。这意味着您的存储库中几乎肯定存在主分支,因为您要么创建它,要么从具有主分支的某个位置克隆它。同样,目前还不清楚你需要什么,但常用的命令是git log master,它将显示从主分支的尖端开始的提交,然后返回历史记录。如果您还想查看提交所做的更改,请添加-p选项。添加--decorate选项将告诉Git使用指向它们的任何分支来注释提交(例如,您在最顶层提交时会看到master)。使用--graph查看ASCII艺术历史图表,便于理解合并。有关更多选项,请参阅git-log联机帮助页。如果您更喜欢查看图形历史记录,请尝试gitk master。要包含所有分支,包括远程分支,您可以使用gitk --all

origin是默认远程的名称。克隆存储库时,会自动为您设置。您可以使用git remote show origin查看有关它的一些信息,它将显示repo的URL,其HEAD,远程分支以及跟踪这些远程分支的任何本地分支。

答案 1 :(得分:1)

您可以随时查看跟踪分支机构正在执行的操作

git branch -r | xargs git log --decorate

如果您想了解它们与分支和合并的关系,请添加--graph。使用

刷新跟踪分支
git fetch

答案 2 :(得分:0)

您可以gitk可视化您的分支结构

答案 3 :(得分:0)

您可以使用this之类的内容来显示您的brach