2017-07-10 40 views
-1

我一直在努力GIT了一段时间的ID信息,我已经有了一个基本的疑问GIT显示上提交不属于分支

一)我创建了三个文本文件“a.txt中,b.txt和“分支‘大师c.txt’,并将提交的文件

b)我创建了一个新的分支'从‘主温度’(提交#666a663)

三)我修改的文件” C .txt'添加并提交(提交#5cbbf09)

ca18:TEST_GIT sathishkumark$ git branch 
* master 
    temp 

ca18:TEST_GIT sathishkumark$ git log --pretty=oneline 
5cbbf09cf619fa5462240b8afe3af4274e0d7dcf File revised 
666a6634e938e7aa5e042e1b443ef817a98b8232 Initial version 

现在,我切换到分支“临时”使用“git的结帐临时”

当我键入时间从分支'混帐显示5cbbf09“临时”混帐显示有关提交编号的信息5cbbf09

问题

这里的问题是,为什么关于“5cbbf09”混帐显示的信息,“当我在分公司的“温度”。

提交ID#5cbbf09属于分支'master',不属于'temp'分支。

我期待的Git不显示在提交信息,因为提交不属于分支“临时”

请澄清

正在Git修订未标记的分支? (或)换句话说,“分支和提交”之间的关系是什么。

+0

在您发布的输出中,“*”表示您在主分支上,而不是在调用git日志时处于临时状态。 – Nogoseke

+0

是输出只是为了显示分支 –

回答

2

这里没有太多需要澄清的地方,你在问一个特定的提交,所以GIT显示了它的相关信息。你在哪个部门有什么关系?在这种情况下你的期望是错误的。

如果您只想提交您当前的分支,默认情况下没有参数的简单git log将仅提供从时间开始到分支尖端的提交,没有其他分支。

然后,您可以使用其他标志进行筛选,但是根据您的直接请求,提供特定的提交(或分支)将强制GIT显示它们。如果你不想看到有关提交的信息,为什么要引用它?基本上你想要一个程序,忽略你...

要回答你的最后一个问题:没有。逻辑是相反的。事实上,分支只是一个提交的“指针”,不过更多 - 其他版本工具有不同的分支概念,所以这是很好的一点。你可以移动这个指针,但这不会影响一般情况下的提交。注意尽管最后没有分支的提交链有点像'泄漏内存',如果你遇到这种情况,git会清除它。

虽然日志的行为不同:如果你的日志记录上升到分支指向的提交状态,不管你当前的分支是什么,而不仅仅是指向的提交。

除了可以与特定提交关联(身份明智)的ID之外,唯一的事情是tag(它不是分支!而是提交的命名或别名,如果您愿意的话),但就是这些。

+0

感谢您的回答。我在其他一些供应链管理的工作,因此我想到了 –

+0

@SathishKumar我明白了。如果你有任何具体的事情,你可以将其添加到帖子中。 – kabanus

+0

我编辑帖子 –