有没有办法克隆没有特定目录的git存储库?

时间:2011-09-07 02:21:41

标签: windows git

我只想在我的Windows机器上克隆illumos-gate存储库。但不幸的是,有一个名为'aux'的目录不允许在Windows中创建,因为Windows将aux视为某些设备名称。那么有没有办法克隆整个git存储库没有这个特定的目录?提前谢谢。

3 个答案:

答案 0 :(得分:2)

更新:因为构建了所有2.x版本的Git For Windows的MSys2是Cygwin的一个分支,这些特殊的文件名现在应该可以正常工作。如果您使用的是古代版本,则只会遇到问题(请注意问题的日期 - 2011年)。


虽然使用本机Windows工具或msys无法实现,但 可以使用cygwin创建此类目录。因此,您可以使用cygwin git而不是msys one作为解决方法。

与msys相比,cygwin git有三个主要缺点:它没有在系统中注册自己,所以你没有在资源管理器中获得上下文菜单(可以手动设置,它只是注册表中的一个条目),它是gui和gitk只有在cygwin X服务器运行时才能工作,它会为所有内容设置有趣的访问列表,因为cygwin尝试模拟unix权限(可以在/etc/fstab中调整,我总是这样做;不要忘记在git中将core.filemode设置为false,因此它不会尝试跟踪可执行位)。所以这就是为什么我通常使用msys git,即使从cygwin运行,但因为这对你不起作用,cygwin git应该是足够好的替代品。

答案 1 :(得分:1)

我只能想到一种相当痛苦的方式:

执行git clone而不进行结帐 - git clone path --no-checkout

现在执行git重置 - git reset

现在检查除了辅助文件 - git checkout master -- files/folders

之外的所有其他文件和文件夹

不要暂停deleted: aux/...更改

显然,非常痛苦。只有正确的方法是在Linux上克隆和工作。

答案 2 :(得分:0)

为避免克隆一个或多个目录,您可以将git sparse checkout用作described here