2014-03-12 18 views
0

對於這個分支故事請注意,當我執行pwd命令時,終端顯示完全相同的路徑名。Git(在Mac上):finder顯示不應該在分支中的文件

我剛剛學會了如何使用git進行分支(主分支只跟蹤自述文件)。所以我創建了另一個分支,並且我沒有跟蹤自述文件並創建了一個新文件,我稱之爲readme_dagboek(分支名稱)。我很驚訝,當我從一個分支到另一個分支時,發現者也顯示了這一點。

所以在分支dagboek我甩了一箇舊的項目,我需要適應(只能訪問1個私人回購)。這是我的想法,我再也不會碰這個分支,我只需要複製/粘貼它的代碼。

發生的奇怪的事情是,當我檢查出主分支時,我看到仍在我的Finder中的dagboek分支的2個文件。這些是「Classes」文件夾,和「Dagboek(某些).xcodeproj」(見第一張圖片)。這些文件屬於Dagboek分支,而不屬於主分支。

Finder display of master branch

奇怪的是,當我這樣做的命令git ls-files,它並不表示這兩個文件作爲被跟蹤。

所以我刪除了文件(rm <filename>),他們現在不再出現在master分支中,並且仍然出現在dagboek分支中,這正是我想要的(見圖2),但我仍然想知道,這是怎麼回事?當我在主分支中時,Finder怎麼顯示它們呢?如果那時我會在dagboek分支中忙碌,那麼圖像2的所有文件都應該在那裏,但它們不是。

All kinds of files in the dagboek branch

回答

2

未跟蹤的文件(你從來沒有add版的)沒有在任何分支存在。它們在您的工作副本中,並且轉換分支通常不會影響它們。對於未提交的更改也是如此。

如果你想在一個分支中存在另一個分支中不存在的文件,你必須將它們提交給該分支。

例如:

# Create a new branch and check it out 
git checkout -b dagboek 

# Edit your new file 
$EDITOR readme-dagboek.txt 

# Commit this file to the branch 
git add readme-dagboek.txt 
git commit 

現在切換分支回到master不應該顯示readme-dagboek.txt

這是設計。想象一下,你正在做一些事情,並且你意識到它應該實際上被委託給另一個分支。您不希望切換到其他分支以刪除您的更改。相反,你切換到你想提交和提交的分支。

相關問題