有没有办法反向忽略 git 服务器(例如 GitHub)上的文件?
Is there a way to reverse ignore files on a git server (such as GitHub)?
问题
有没有办法定义模式以不从 git clone
或 git fetch
上的 git 服务器拉取文件?这可能被称为“反向 git 忽略”。
问题
我有一个 dotfiles 的存储库,我想在名为 README.md
的项目的根目录中有一个自述文件。使用此文件 GitHub 可以以漂亮的格式显示它。
由于要在 *NIX 机器上的用户主文件夹中签出回购协议,所有点文件都将按预期隐藏,但 README.md
不会,这不是我们想要的.
所以我不希望在克隆回购协议时拉取 README.md
。如何实现?
备选方案
如果无法实现上述预期结果,是否可以通过其他方法将 README.md
隐藏或隐藏在主文件夹中?
问题示例
如果有帮助,这是我正在研究的dotfiles repository。
是的,有一种方法可以创建部分克隆。您必须以特殊方式克隆,提供过滤器规范,以便 git 知道要获取哪些文件以及要忽略哪些文件。
您可以在文档中找到所有相关信息。
https://git-scm.com/docs/partial-clone
虽然可以不下载带有部分克隆的文件,但一旦检出工作树,这些文件将被隐式下载。如果您的目标是忽略点文件存储库的某些文件,您有一些选择:
- 设计存储库,使其不直接检出到用户的主目录,而是检出到其他目录,并使用脚本将文件复制到位。这通常是推荐的方法。
- 在
.gitattributes
中将README.md
标记为export-ignore
并使用git archive
将文件复制到位。
- 使用稀疏结帐从结帐中排除
README.md
。有关详细信息,请参阅 git-sparse-checkout(1)
。
- 接受无关的
README.md
文件。
问题
有没有办法定义模式以不从 git clone
或 git fetch
上的 git 服务器拉取文件?这可能被称为“反向 git 忽略”。
问题
我有一个 dotfiles 的存储库,我想在名为 README.md
的项目的根目录中有一个自述文件。使用此文件 GitHub 可以以漂亮的格式显示它。
由于要在 *NIX 机器上的用户主文件夹中签出回购协议,所有点文件都将按预期隐藏,但 README.md
不会,这不是我们想要的.
所以我不希望在克隆回购协议时拉取 README.md
。如何实现?
备选方案
如果无法实现上述预期结果,是否可以通过其他方法将 README.md
隐藏或隐藏在主文件夹中?
问题示例
如果有帮助,这是我正在研究的dotfiles repository。
是的,有一种方法可以创建部分克隆。您必须以特殊方式克隆,提供过滤器规范,以便 git 知道要获取哪些文件以及要忽略哪些文件。
您可以在文档中找到所有相关信息。 https://git-scm.com/docs/partial-clone
虽然可以不下载带有部分克隆的文件,但一旦检出工作树,这些文件将被隐式下载。如果您的目标是忽略点文件存储库的某些文件,您有一些选择:
- 设计存储库,使其不直接检出到用户的主目录,而是检出到其他目录,并使用脚本将文件复制到位。这通常是推荐的方法。
- 在
.gitattributes
中将README.md
标记为export-ignore
并使用git archive
将文件复制到位。 - 使用稀疏结帐从结帐中排除
README.md
。有关详细信息,请参阅git-sparse-checkout(1)
。 - 接受无关的
README.md
文件。