如何保持迷路+;在git中找到目录?

如何保持迷路+;在git中找到目录?,git,Git,我的git项目位于一个单独的ext4分区上,该分区包含 lost+found目录 它被git clean-d删除 如果我尝试将它添加到git,它会说 error: pathspec 'lost+found' did not match any file(s) known to git. 如果我将它添加到.gitignore,它将被git clean-X-d 那么,我该如何说git呢 (此处没有可用的解决方案)如果是空文件夹,请尝试添加占位符文件: cd /path/to/git/repo to

我的git项目位于一个单独的
ext4
分区上,该分区包含
lost+found
目录

它被git clean-d删除

如果我尝试将它添加到git,它会说

error: pathspec 'lost+found' did not match any file(s) known to git.
如果我将它添加到
.gitignore
,它将被
git clean-X-d

那么,我该如何说git呢


(此处没有可用的解决方案)

如果是空文件夹,请尝试添加占位符文件:

cd /path/to/git/repo
touch lost+found/.gitkeep
git add lost+found/.gitkeep
然后,
git clean-d
将不会删除该文件夹(因为它包含跟踪的内容)

注意:如果您确定不必跟踪该文件夹中的任何内容,您可以将
.gitceep
替换为
.gitignore
(在
丢失+找到的
文件夹中,您可能必须首先使用该文件夹创建,具体取决于您的文件系统)。

然后,
.gitignore
的内容将是“
*
”(没有简单的引号)。来源:s.

@Vanna不,在那篇文章中没有解决这个问题的方法。Git不会删除任何不受其控制的内容。你是说你已经将整个分区置于版本控制之下了吗?@Makoto是的,这个项目是在一个专用分区上注意:关于
git clean-d
,这是在git 2.14中发展起来的:请参阅“”,注意如果删除了目录,git将使用
mkdir()重新创建它
而不是使用
mklost+found
@DietrichEpp,所以应该先做一个mklost+found?@VonC我不知道现代Linux,但是“回到过去”当BSD
fsck
需要将文件放入
lost+found
时,它需要目录中有一堆空插槽,这样就已经知道有好的文件了(因为所有这些都是由该点检查的)磁盘块可用,因此目录不必为了添加条目而扩展大小。这就是
mklost+found
所做的。BSD的UFS/UFS2
fsck
现在更加新奇,可以根据需要创建和扩展
lost+found
目录。ZFS不需要它,在设计上有很大的不同。@torek OK。不是当然这里的OP环境是什么,但我会记住这一点。另一方面,我喜欢使用可能为空的
.gitignore
而不是
.gitkeep
。在这里,我会使用包含
*
.gitignore