2011-03-30 115 views
0

舉個例子:沒有結帳分支的Git diff

在內核源代碼中,它有很多標籤。我可以diff的他們,如:

git的差異v2.6.37-RC3 v2.6.38-RC4

,我得到正確的輸出。

現在我複製.git目錄到另一個地方,而這個新的.git目錄中,我還可以用

git diff v2.6.37-rc3 v2.6.38-rc4 

得到正確的輸出。

但是,我有另一個分支,如「mydev」。我無法檢查到這個mydev分支,並執行git diff v2.6.37-rc3 v2.6.38-rc4命令。

我該怎麼辦?

+3

當你說你不能簽出分支或者執行'git diff'時,你正在嘗試什麼命令?你會得到什麼錯誤? – 2011-03-30 04:20:46

回答

0

你應該得到和以前一樣的輸出。在存儲庫中有一個分支應該不重要。

1

您不能複製非裸GIT存儲庫的.git目錄,並期望能夠檢出分支。當非裸露時,存儲庫具有索引並且需要相應的工作目錄。請注意,一些GIT命令和參數(比如'diff',帶有兩個提交)僅對存儲庫對象/提交進行操作,因此不需要工作目錄 - 因此它們可以工作,正如您所見。但是其他命令(如提交和工作目錄之間的'diff')需要工作目錄。