删除未跟踪的文件,使其不会出现在git状态中

时间:2017-08-16 21:37:21

标签: javascript git github terminal

当我git status出现时:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   src/app.js
    modified:   src/view/view.js
    modified:   src/view/layout.js
    modified:   src/view/layout2.js
    modified:   src/view/layout3.js
    modified:   src/view/layout4.js
    modified:   src/view/layout5.js

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

    ../hidemeplease.json

通常我会git add -A一次暂存所有更改,但这也会添加未跟踪的文件。所以现在我需要一次艰苦地将我的更改一个文件分段。

如何阻止未跟踪的文件显示在git status中?我不想删除该文件,只是忽略它,或让git status忽略它。

我尝试过这样的事情:

git update-index --assume-unchanged hidemeplease.json

但无济于事。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

Git中的未跟踪文件是一个路径名未出现在索引中的文件。

由于它不在索引中,因此您无法告诉git update-index将索引条目标记为&#34;假设未更改&#34;或者&#34;跳过worktree&#34;。但这实际上是好的新闻。

如果某个文件不在索引中,git status通常会抱怨,而git add .添加。要防止这些情况发生,请在.gitignore文件中列出文件的路径名称。

.gitignore文件包含Git将关闭的路径名列表,而不是自动添加。所以它应该被称为.git-shut-up-about-these-files-and-do-not-auto-add-them。但是,这个名字有点不合适,因此.gitignore

请注意,如果索引中的文件路径名,则在.gitignore文件中列出该文件根本不起作用。这就是为什么目前的抱怨是好消息。

答案 1 :(得分:1)

如果您想忽略它,您可能希望将其添加到项目根目录中的.gitignore文件中,或者至少添加到git的根目录中。

考虑将.gitignore放在与文件hidemeplease.json相同的文件夹中。然后前一个文件的内容可能就像这样简单:

hidemeplease.json