2011-03-12 48 views
2

我正在與git合作,對於與分支機構合作還相當新,而且我遇到了一個真正奇怪的問題。我不確定說實話怎麼回事。Git奇怪與分支機構之間的文件夾

我創建一個git倉庫,然後添加一個自述文件,並提交更改。

git init 
git touch README 
git add README 
git commit -m 'add readme' 

從那裏我現在有一個主分支。我這樣做:

git branch development 
git checkout development 

從那裏我添加了3個文件夾,因爲我第一次爲源代碼控制添加了一箇舊項目。這些文件夾是:

Theme-arm 
FrontEnd 
ControlPanel 

我的目標是將這些文件添加到開發分支並沒有其他分支。然後我做

git add * 
git commit -m 'initial commmit' 

這一切都很好。但是當我切換回主用

git checkout master 

的問題,什麼是導致我的困惑,是ControlPanel控制和前端,而不是主題臂現在處於主爲好。我不想讓他們在那裏。

我做錯了什麼或誤解git的工作方式?

+0

你爲什麼說他們是高手?他們在工作目錄中檢出主分支時並不意味着它們被主人跟蹤。嘗試「混帳狀態」,你可能會看到他們列爲未跟蹤。 – 2011-03-13 11:50:54

回答

2

檢查ControlPanel和FrontEnd是否在開發分支中執行git add *時未放在版本控制下的文件(您可以檢查這些目錄的內容在您的主分支中)。

+1

澄清:如果您有未跟蹤的文件(包括被忽略的文件,可能是構建產品),它們將在切換分支時被單獨保留。當您將主分支簽出時,文件在那裏的事實並不意味着它們實際上在主分支上進行了跟蹤。嘗試用'git show master:ControlPanel'來查看哪個主機實際上在那裏跟蹤 - 還有'git status'來查看是否有未跟蹤的文件 - 你可能會在該部分看到'ControlPanel /'。 – Cascabel 2011-03-13 05:38:30

+0

這是答案的一部分,所以我會將其標記爲答案並完成我的結論,這是一個被刪除的答案。基本上,由於文件夾中沒有任何文件,它自動不會跟蹤它們,因爲git不支持文件夾。如果我在文件夾中有東西,那麼它會跟蹤這些文件,並且文件夾會「消失」。最後,當我將開發分支合併到主分支中時,它變成了一個有爭議的問題,在這兩種情況下,這些空文件夾都存在,我無法分辨其中的差異。 – percent20 2011-03-22 08:55:28