私は、最初の Git リポジトリについて何も知らない別の Git リポジトリからのコミットを必要とする Git リポジトリを操作しています。
HEAD@{x}
通常、 reflog で を使用して cherry-pick しますが、これは.git
この reflog エントリ (異なる物理ディレクトリ) を認識しないため、これを cherry-pick するにはどうすればよいでしょうか。また、そうできるでしょうか。
私は を使用していますgit-svn
。最初のブランチはSubversion リポジトリのgit-svn
を使用しており、次のブランチはSubversion ブランチの を使用しております。trunk
git-svn
ベストアンサー1
答えは、format-patch を使用することですが、質問は別のフォルダーからチェリーピックする方法であるため、それを実行するコードを次に示します。
$ git --git-dir=../<some_other_repo>/.git \
format-patch -k -1 --stdout <commit SHA> | \
git am -3 -k
馬公氏からの説明コメント 2014年8月28日
git format-patch コマンドは、SHA で指定された some_other_repo のコミットからパッチを作成します (単一のコミットの場合は -1)。このパッチは git am にパイプされ、ローカルでパッチが適用されます (-3 は、パッチが適切に適用されなかった場合に 3 方向マージを試行することを意味します)。