Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Shell:如何从未跟踪的文件中删除特定文件_Git_Shell_Gitignore - Fatal编程技术网

Git Shell:如何从未跟踪的文件中删除特定文件

Git Shell:如何从未跟踪的文件中删除特定文件,git,shell,gitignore,Git,Shell,Gitignore,我希望使用shell命令从git中未跟踪的文件中删除特定的文件。但正如我所寻找的,只有像这样的人才能找到解决办法 -f - force, -d - directories too, -x - remove ignored files too. 让我们考虑文件,如 GiTigGoR.GiTigGNOR.,每当我尝试命令“强> Git RM GiTigGOR.GITIGNORE < /强>时,AM就失败了。希望得到任何预期的结果。如果git没有跟踪该文件,那么将其删除不是git的工作。只需使用

我希望使用shell命令从git中未跟踪的文件中删除特定的文件。但正如我所寻找的,只有像这样的人才能找到解决办法

-f - force, 
-d - directories too, 
-x - remove ignored files too.

让我们考虑文件,如<强> GiTigGoR.GiTigGNOR.<强>,每当我尝试命令“强> Git RM GiTigGOR.GITIGNORE < /强>时,AM就失败了。希望得到任何预期的结果。

如果git没有跟踪该文件,那么将其删除不是git的工作。只需使用普通的shell命令,比如
rm
,而不是
git-rm


如果要删除所有未跟踪的文件,可以执行
git clean

如果您的工作树中有任何文件&要删除它,您将使用
git rm

直接从

git rm
-从工作树和索引中删除文件

现在,为什么要使用
git-rm
而不是
rm
从工作树中删除文件

答案是-如果您只使用
rm
,则需要使用
git add
进行后续操作
git rm
一步完成此操作

您还可以使用git rm--cached,它将从索引中删除文件(在下次提交时将其暂存以删除),但将副本保留在本地文件系统中

这部分摘自

要删除未跟踪的文件,您可以使用
rm
对源代码树中包含的跟踪文件进行删除,您将使用
git-rm


可能只需要一个
git clean-df
-n就可以方便地再次检查您首先在做什么

NAME
       git-clean - Remove untracked files from the working tree

OPTIONS
       -d
           Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different Git repository, it is not removed by default. Use -f option twice if
           you really want to remove such a directory.

       -f, --force
           If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or directories unless given -f, -n or -i. Git will refuse to delete
           directories with .git sub directory or file unless a second -f is given.

       -n, --dry-run
           Don't actually remove anything, just show what would be done.

但是,如果您有未限制的更改,则需要使用git checkout--。

您可以按以下方式使用带有标志
-i
的交互模式

git clean -id`

d
也用于目录),然后您可以通过按
a
选择在文件和文件夹中进行迭代,并选择要删除和不想删除的内容

你是在问如何将文件添加到gitignore吗?没错。如果不在git领域,那么点击git rm只是浪费时间。正如git帮助所示,git rm的用法是:从工作树和索引中删除文件