1

gitリポジトリにファイルがあり、別のgitリポジトリでバグ修正を受け取ることがあります。それらのコミットを自分のリポジトリにプルできるようにしたいと思います。

例えば:

project_a/
  /.git
  /src/somefile.cpp

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

project_bからへproject_aのコミットをプルしたいと思い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_bproject_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

この回答から適応。)

于 2012-12-12T20:37:46.607 に答える