1

我的 git 存储库中有一个文件,该文件有时会在另一个 git 存储库中接收错误修复。我希望能够将这些提交提取到我的仓库中。

例如:

project_a/
  /.git
  /src/somefile.cpp

project_b/
  /.git
  /utils/converters/apples/bananas/src/somefile.cpp

我想从project_bto拉入提交project_afor somefile.cpp

4

2 回答 2

3

如果您有相同名称但位于不同文件夹中的文件(假设您已将 project_b 合并到子目录中),那么您必须按以下方式进行挑选

git cherry-pick project_b/master --strategy=subtree
于 2013-10-02T16:10:41.247 回答
2

您可以添加project_b为遥控器,然后从中获取和挑选。尝试这样的事情:

git remote add project_b /path/to/project_b/
git fetch project_b

现在你可以从project_b. 如果您想要的提交位于project_bmaster 分支的顶端,只需执行

git cherry-pick project_b/master

或者,您可以绕过远程获取/樱桃采摘的东西,直接从project_b这样的补丁:

git --git-dir=/path/to/project_b/.git format-patch -k -1 \
--stdout <commit SHA> somefile.cpp | git am -3 -k

改编自这个答案。)

于 2012-12-12T20:37:46.607 回答