如何使.gitignore忽略文件?

时间:2018-09-21 04:41:28

标签: git gitignore

我有一个.gitignore文件,内容如下:

.vs/

我运行以下命令

git add .gitignore
git commit -m 'adding ignore file'

在我的.vs文件夹中,有一个名为test.txt的文本文件。

当我输入git status时,我看到以下输出

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

        .vs/

nothing added to commit but untracked files present (use "git add" to track)

我在这里想念什么?

4 个答案:

答案 0 :(得分:2)

找到了我的解决方案here(Visual Studio也在我的.gitignore中添加了汉字)

我的.gitignore使用unicode编码保存。

这是因为我像这样通过PowerShell创建了.gitignore文件

".vs/" > .gitignore

之所以这样做,是因为资源管理器不允许您创建前导期的文本文件。我的解决方案:

".vs/" | Out-File -Encoding ascii -FilePath .gitignore

答案 1 :(得分:0)

首先,您不需要向索引中添加.gitignore并提交它,以使该文件生效。

在创建/更新git status之后完成的.gitignore将起作用。

第二,确保您的.gitignore.vs/位于同一级别(或更高级别)(不在其内部)

第三,检查其eol(行尾,确保它是linux风格的)

答案 2 :(得分:0)

我从日志中认为,您已经在.gitignore中添加了该文件夹,但是由于该文件夹是较早提交的,您仍希望将其删除。

如果在较早的提交中存在,并且您想要将其删除。您可以使用:-

git rm --cached .vs/

这会将文件夹标记为已从索引中删除,但在本地不会更改。

然后使用:

git commit -m "<Msg showing removing file from git tracking.>"

我已经做了一个假设,请说明是否不是您所需要的。

答案 3 :(得分:0)

  1. 使用正确的模式。 .vs必须与.gitignore位于同一目录中,否则请更正路径。
  2. 请提交.gitignore,以便其他人从中受益。
  3. 如果git已经包含(跟踪)了某些内容,然后又将其添加到.gitignore中,则不会导致git忘记它。为了这:
    1. 对文件使用git rm --cached <filePath>
    2. git rm -r --cached <dirPath>用于目录