2016-03-14 35 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中?如果我确实提交了这些文件,那么当我向文件已存在的上游推送时会发生什么? –

相关问题