我如何还原此命令“ git status --porcelain | grep'^ ??' | cut -c4- >> .gitignore”?

时间:2019-05-30 20:37:38

标签: git github

最初我要永久忽略未跟踪的文件

git status --porcelain | grep '^??' | cut -c4- >> .gitignore

命令。现在,当我在代码中添加新文件时,它不会以git状态显示。

2 个答案:

答案 0 :(得分:3)

您已用更改后的文件的数据覆盖.gitignoregit 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