2016-10-05 429 views
0

我是Git的新手,并对一些.scss文件做了一些工作,这些文件可以通过Gulp编译成.css文件。什么原因导致文件在Git中未被跟踪?

我已经完成了我的工作,现在准备将我更改的文件推送到Github。但是,当我做git status时,我会看到3个未跟踪的文件:日志,.js和.scss。

这些文件是如何标记为未跟踪的?我以为我必须自己指定。

+0

所有出现在工作区域中的新文件和哪些尚未进入回购尚未解决。 – fracz

回答

0

在git中,所有在工作目录中但没有明确添加的文件(即git add)被标记为“未跟踪”。这实际上意味着它们存在,但git没有跟踪它们的变化。

+0

啊,好的。那么,在那种情况下,为什么跟踪其他文件呢?我还没有使用git add,那么它们不应该全部显示为untracked? – MeltingDog

+0

不好,因为通过'git add'你最终还会将这些文件的内容添加到索引区 - 当你只想跟踪这些文件时。 – prabodhprakash

+0

您是否克隆了repo @MeltingDog,或者它是您开始的新回购? – prabodhprakash

0

默认情况下文件处于untracked状态。你必须将它添加到git中,以确保git开始跟踪它。

可以轨道再次,如果你到untrack文件中写入以下

git update-index --no-assume-unchanged <path_to_file>

一个特定的文件,你可以通过

git update-index --assume-unchanged <path_to_file>

git update-index注册一个文件来索引 - 因此,确实开始跟踪文件。但是,其他答案已发布git add还将文件的内容添加到索引 - 这增加了跟踪文件并将该文件添加到临时区域(准备提交)

+0

对于刚开始学习git的人来说,这是不必要的复杂。我不能指出一个情况,你会希望这种行为只是通过'git add'分阶段修改文件。哎呀,即使对'git status'的帮助也给了“使用”git add“跟踪” – Sinkingpoint

+0

“不必要的复杂” - 你仍然必须告诉正确的事情。相反,我觉得,当你正在学习新东西的时候,现在是找到正确事物的最佳时机,否则,有一种倾向于以复杂的东西为名忽略正确的东西! – prabodhprakash

相关问题