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