2017-07-10 63 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

我編輯帖子 –