无前导目录的Git稀疏签出

无前导目录的Git稀疏签出,git,directory-structure,sparse-checkout,Git,Directory Structure,Sparse Checkout,我知道如何在Git中配置稀疏签出,但我想知道是否有可能消除前导目录。例如,假设我有一个Git存储库,其文件夹结构如下: folder1/foo folder2/foo/bar/stuff 文件夹3/另一个/foo/bar/stuff2 我只想要里面的内容stuff2。对于这些目录的稀疏签出,.git/info/spare checkout文件如下所示: folder3/another/foo/bar/stuff2/ 我的问题是在完成稀疏签出后,我不查看stuff2或目录根目录中的stuff

我知道如何在Git中配置稀疏签出,但我想知道是否有可能消除前导目录。例如,假设我有一个Git存储库,其文件夹结构如下:

  • folder1/foo
  • folder2/foo/bar/stuff
  • 文件夹3/另一个/foo/bar/stuff2
我只想要里面的内容
stuff2
。对于这些目录的稀疏签出,
.git/info/spare checkout
文件如下所示:

folder3/another/foo/bar/stuff2/
我的问题是在完成稀疏签出后,我不查看
stuff2
或目录根目录中的
stuff2
内容;我看到
folder3
,然后看到
stuff2
前面的所有子目录


我猜这个问题的答案是Git不可能实现,但我只是想确定一下。这是我所怀念的SVN的一种(也是唯一的)行为;运行
svn公司的能力https://url.com/myrepo/folder3/another/foo/bar/stuff2 .
并将内容转储到当前目录。

一些工具(如git hub)能够直接查看给定文件夹。但是,在git中,一次只能对一个文件夹进行操作是被禁止的,因为必须有整个存储库来执行新提交的散列,并为提交进行区分


这里还讨论了
git checkout folder3/other/foo/bar/stuff2中缺少的内容?我可能不明白这个问题……这个问题不是重复的,而且据我所知还没有得到回答。问题不在于如何进行稀疏签出(op知道这一点)或如何避免完整的存储库克隆(-depth 0)。问题是如何避免使用稀疏签出获得完整的深层目录结构。答案说明这是不可能的,但没有解释,而且已经5年了。请参阅@DominicEU回答中的我的评论。据我所知,您有git格式的文件,您希望将其放置在/path/to/config中。我将签出git存储库的内容,其中一些是永久的。然后在git中创建指向该文件的符号链接,并将链接放置在/path/to/config中。如果这对你有用的话,我可以把命令放在另一个答案中;我在
/path/to/config
中有当前不在Git中的文件。我创建了一个目录,我想在其中放置
/path/to/config
文件(又称
stuff2
dir),但遇到了我描述的问题。因此,首先将配置文件复制到git存储库中,在那里存储它们。然后在/path/to/config中创建一个符号链接。然后,当git repo发生更改时,该文件将被更新。这个答案没有考虑稀疏签出,并且自版本1.7以来是错误的。斯科特似乎已经知道的比答案提供的要多。