我有一个.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)
我在这里想念什么?
答案 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)
.vs
必须与.gitignore
位于同一目录中,否则请更正路径。.gitignore
,以便其他人从中受益。.gitignore
中,则不会导致git忘记它。为了这:
git rm --cached <filePath>
git rm -r --cached <dirPath>
用于目录