最初我要永久忽略未跟踪的文件
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
命令。现在,当我在代码中添加新文件时,它不会以git状态显示。
答案 0 :(得分:3)
您已用更改后的文件的数据覆盖.gitignore
。 git status --porcelain
的输出在.gitignore
的语法中没有任何意义。
您需要恢复.gitignore
。最简单的方法是-假设您没有本地更改,也没有提交更改-是
git checkout -- .gitignore
答案 1 :(得分:1)
如果您仍要添加文件,则有几种选择:
git add -f file
忽略.gitignore
并继续添加文件.gitignore
文件以删除不应忽略的行如果您要撤消已应用于.gitignore
的更改:只需使用文本编辑器编辑文件即可。
[anycommand] >> .gitignore
仅将[anycommand]
的输出添加到文件末尾;
您应该可以找到包含以下所有文件的部分:
git status --porcelain | grep '^??' | cut -c4-
然后删除该部分。
您可能仍然应该修改.gitignore
文件,忽略一长串特定文件并不是很常规。
如果您确实要忽略每个未跟踪的文件(当前和将来),请将.gitignore
设置为:
# ignore everything
*
您仍然可以使用git add -f
如果要忽略特定文件夹,只需将这些文件夹命名:
# ignore the "tmp/" and "build/" directories :
tmp/
build/
有关详细文档,请参见git help ignore