2012-03-02 79 views
7

這是一個跟進this問題。Git分支切換不會更改代碼文件夾文件

我使用git clone [email protected]:TEST命令克隆了遠程主項目文件夾。從Git根目錄,我做了一個cd Test命令進入該文件夾。然後我使用git checkout -b myBranch創建了一個分支。現在在git bash上,它顯示我在新分支中。我在Test文件夾中創建了一個test.txt文件,然後將我的分支切換爲主。我仍然看到文本文件。因爲它不是主人的一部分,所以Git不應該顯示test.txt。如果發生這種情況,我是否需要在分支中提交我的更改?

我最初以爲這可能發生了,因爲它不是我的.NET項目的一部分(我在主分支)。但是當我試圖將文件添加到mybranch時發生了同樣的情況。當我切換我的主人時,我仍然可以看到fie系統中文件夾的更改圖標。

我錯過了什麼?感謝您的幫助,因爲我花了很多時間試圖找出Git。每次我想我都懂了,總會有一些東西。

+1

哈哈+1對於'每次我想我已經明白了,總有一些東西。'那就是GIT給你! – 2013-02-14 06:13:29

回答

14

不,它不是您的master分支的一部分,但它也不是myBranch的一部分。這是未跟蹤,因爲你從未提交過該文件。運行git status您會看到它列爲未跟蹤。由於它從來沒有上演或承諾過,Git沒有(也不能)管理它的存在,所以它不管。

此外,如果可以的話,修改後的文件保留在分支之間。否則Git會在切換有關髒工作樹的分支時給您一個錯誤。這又是因爲Git沒有這些更改的內部副本,它們只存在於您的文件系統中,而不存在於Git中,直到它們被提交。

+2

+1只要你把'git add'(它放在它的*索引*中),Git就知道它們,但它們不是*分支的一部分,直到它們被放入'commit' – Gareth 2012-03-02 02:31:13

相關問題