2016-03-14 36 views
0

我已簽出一個乾淨的分支與node_modules子目錄。當我做git status,我得到:git reporting check out子目錄爲未跟蹤

Your branch is up-to-date with 'origin/development'. 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

     node_modules/.bin/_mocha 
     node_modules/.bin/mkdirp 
     node_modules/.bin/mocha 
     etc. 

了數百個文件,該文件夾中。我嘗試過git checkout HEAD -- node_modules,但它仍然將該文件夾報告爲未跟蹤。

+0

這個分支上'.gitignore'文件的內容是什麼?前一個分支中'.gitignore'文件的內容是什麼? – jeerbl

回答

0

未追蹤的文件是不屬於版本庫的文件/目錄。 這意味着git不知道這些文件或它們來自哪裏。

做一個git checkoutgit reset不會影響他們,因爲他們不是通過git跟蹤

如果您擔心,您可以放心地忽略它們。如果您希望git在您執行git status時不顯示它們,則需要將目錄/文件添加到名爲.gitignore的文件中,該文件位於回購的基本/根目錄下。

+0

他們是回購協議的一部分,因爲我檢查了他們的回購協議。這是來自服務器的全新結帳。 –

+0

@MusicalShore你確定這些文件沒有創建時,你在回購裏面運行的東西?你能檢查這些文件的ctime,看看這些文件是在克隆之前還是之後創建的?你的.gitignore是什麼樣的?如果你不擔心丟失任何工作,你可能還想嘗試'git reset --hard origin/master'。 – ffledgling

+0

該分支中的.gitignore不會引用該路徑或文件。我沒有做一個克隆,我刪除了本地分支,然後使用SourceTree檢出了遠程分支。當時我這樣做了,我在另一個沒有node_modules文件夾的分支。據我所知,HEAD指針應該已經移動到其中包含該文件夾的分支節點。當我簽出一個遠程分支時,是不是隻是將HEAD拖到下游,所以這些文件應該放在本地HEAD中?如果我確實提交了這些文件,那麼當我向文件已存在的上游推送時會發生什麼? –

相關問題