代码之家  ›  专栏  ›  技术社区  ›  Jason Baker

我只能从另一个Git存储库中提取某些文件吗?

  •  2
  • Jason Baker  · 技术社区  · 14 年前

    例如,假设我有知识库1和知识库2。存储库1有一个文件 /a/b/c/d .我可以把这个文件作为 /e/f/g/h ?

    原因是我想从另一个Git存储库的一个实验分支引入更改。我试着把所有的东西都合并在一起,但有很多冲突(各种各样)。因此,我怀疑我能把整个分支合并进来,但我想尽可能多地引进来。

    有没有什么方法可以做我想做的,或者我只是需要直接复制文件?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jamey Hicks    14 年前

    您可以使用从远程存储库获取文件 git archive . 然后可以添加文件并将其提交到存储库中。这种方法不会使他的分支保留历史。见 git archive docs 详情。

    如果你想保留实验分支的一部分,你可以 git fetch 他的仓库,然后 git rebase 他在您的存储库中的实验分支,根据需要编辑或跳过带有冲突的提交。一旦在存储库中清理了分支,就可以将其合并到中。见 git rebase docs

        2
  •  1
  •   mipadi    14 年前

    你必须直接复制文件。Git处理的是整个存储库,而不是其中的单个文件。

    我想您可以将存储库2设置为远程存储库,获取( 拉动)其分支,然后使用 git checkout 从那个分支中获取一个文件,但是这个解决方案可能会很混乱。