0

问题

有没有办法定义模式不从 git 服务器上拉文件git cloneor git fetch?这可能被称为“反向 git 忽略”。

问题

我拥有的是一个点文件存储库,想在项目的根目录中有一个自述文件,名为README.md. 有了这个文件,GitHub 可以用很好的格式显示它。

由于要在*NIX机器上的用户主文件夹中签出 repo ,所有点文件都将按预期隐藏,但README.md不会,这也是不希望的。

所以我不希望在README.md克隆 repo 时将其拉出。如何做到这一点?

替代解决方案

如果无法实现上述预期结果,是否可以README.md通过其他方法将其隐藏或隐藏在主文件夹中?

问题示例

如果有帮助,这里是我正在处理的dotfiles 存储库。

4

2 回答 2

0

是的,有一种方法可以创建部分克隆。您必须以一种特殊的方式进行克隆,提供一个过滤器规范,以便 git 知道要获取哪些文件以及忽略哪些文件。

您可以在文档中找到所有相关信息。 https://git-scm.com/docs/partial-clone

于 2021-07-12T12:52:40.160 回答
0

虽然可以不下载带有部分克隆的文件,但一旦签出工作树,这些文件将被隐式下载。如果您的目标是忽略 dotfiles 存储库的某些文件,您有一些选择:

  • 设计存储库,使其不直接签出到用户的主目录,而是签入其他目录,并使用脚本将文件复制到位。这通常是推荐的方法。
  • 标记README.mdexport-ignore.gitattributes用于git archive将文件复制到位。
  • 使用稀疏结帐从结帐中排除README.md。有关git-sparse-checkout(1)更多详细信息,请参阅。
  • 与无关README.md文件一起生活。
于 2021-07-13T08:53:26.020 回答