如何将单个文件从另一个git存储库链接到您自己的存储库?我不想要完整的存储库,只需要一个文件。使用git submodule
似乎是正确的路线,但它想要抓取整个东西。
考虑到git的工作单元是一个存储库(或者更准确地说是一个存储库内容),我认为您不可能轻松地集成一个文件。
如果你不需要它的历史记录,你可以考虑简单地复制它到你的repo。
但是如果您确实需要历史记录,那么一些git filter-branch
(如"git:如何从项目中分离库?")Filter-branch, subtree?")是有序的。不过,对于一个文件来说,这似乎花费了很多精力。
理论上,"git: symlink/reference to a file In a external repository"建议将子模块和symlink结合起来。
(来自Pavel Šimerda)
$ git submodule add /url/submodule/<reponame>
$ ln -s <reponame>/path/to/<linked_file>
$ git add .gitmodules <linked_file>
$ git commit -m "add a symbolic link to <linked_file> with the respective submodule"
自2011年以来(上面的原始答案),Gavriel在评论中报告说:
- 当我签出主repo时,链接的文件不是符号链接,而是文件内容为"
但是基本的想法是有效的。<reponame>/path/to/<linked_file>
"。换句话说,git将符号链接的目标提交为文件内容
我使用"submodule/path/to/file
"而不是"file
",它的工作