我的git存储库中有一个文件,有时会在另一个git存储库中收到错误修复。我希望能够将这些提交记录到我的回购中。
例如:
project_a/
/.git
/src/somefile.cpp
project_b/
/.git
/utils/converters/apples/bananas/src/somefile.cpp
我想将project_b
的提交从project_a
提交到somefile.cpp
。
答案 0 :(得分:3)
如果您的文件具有相同的名称但位于不同的文件夹中(假设您将project_b合并到子目录中),那么您必须按以下方式执行樱桃选择
git cherry-pick project_b/master --strategy=subtree
答案 1 :(得分:2)
您可以将project_b
添加为遥控器,然后从中获取和挑选。尝试这样的事情:
git remote add project_b /path/to/project_b/
git fetch project_b
现在你可以从project_b
挑选。如果您想要的提交位于project_b
主分支的顶端,请执行
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