Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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 仅清除未跟踪的目录_Git_Git Clean - Fatal编程技术网

Git 仅清除未跟踪的目录

Git 仅清除未跟踪的目录,git,git-clean,Git,Git Clean,如果我重命名一些目录,然后提交并推送到源目录,然后从另一台计算机上拉,我将找到旧目录和新目录。在旧目录中会有一些被忽略的文件。如何删除所有此类未跟踪目录,而不接触任何跟踪目录中的任何文件(已跟踪或未跟踪) (我所说的“跟踪目录”是指至少包含一个跟踪文件的目录。)您可能在git clean-X之后 从 -X 仅删除Git忽略的文件。这可能有助于从头开始重建所有内容,但保留手动创建的文件 下面是一个示例,其中有一个被跟踪的文件、一个未被跟踪的文件和一个被忽略的文件 $ ls x.txt y.txt

如果我重命名一些目录,然后提交并推送到源目录,然后从另一台计算机上拉,我将找到旧目录和新目录。在旧目录中会有一些被忽略的文件。如何删除所有此类未跟踪目录,而不接触任何跟踪目录中的任何文件(已跟踪或未跟踪)


(我所说的“跟踪目录”是指至少包含一个跟踪文件的目录。)

您可能在
git clean-X
之后

-X

仅删除Git忽略的文件。这可能有助于从头开始重建所有内容,但保留手动创建的文件

下面是一个示例,其中有一个被跟踪的文件、一个未被跟踪的文件和一个被忽略的文件

$ ls
x.txt  y.txt  z.txt

$ cat .gitignore
y.txt

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

        z.txt

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

$ git clean -X --dry-run
Would remove y.txt

$ git clean -Xf
Removing y.txt

$ ls
x.txt  z.txt

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

        z.txt

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

$ls
x、 txt y.txt z.txt
$cat.git忽略
y、 文本
$git状态
论分行行长
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
z、 文本
提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)
$git clean-X——干运行
将删除y.txt
$git clean-Xf
删除y.txt
$ls
x、 txt z.txt
$git状态
论分行行长
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
z、 文本
提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)
试试这个:

git clean -d -fx
-d:告诉git clean您还想删除任何未跟踪的目录,默认情况下它将忽略目录
-f:force选项启动从当前目录中实际删除未跟踪的文件
-x:告诉git clean也包括任何被忽略的文件

-d
选项导致
git clean
递归到未跟踪的目录中

-X
选项导致
git clean
删除被忽略的文件

您还可以指定要清理的目录:

git clean -dX myDirectory
您可以首先通过添加
-n
选项来尝试干运行。试运行实际上并不会删除任何内容,它只是显示将要执行的操作

git clean -dXn
git clean -dXn