質問: githubでソースを管理しております。 また、ブランチは以下で運用しております。 - master - develop - feature/・・・ その上で、例えば、feature/Aのブランチで作成されたファイルの一部、またはすべてのファイルをfeature/Bのブランチへコピーしたい(ディレクトリごとの場合も含めて) ※現状はfeature/Bのブランチにいる状態で。 このような場合、どのようにすればいいのでしょうか? これまでは、ブランチ間での差分を見比べて、変更があった箇所のみコピーして貼り付けるといった作業をしておりました。 イメージとしましては $ cp feature/A feature/B ./* みたいなことがしたいです。(コマンド一発で、ブランチ間の差分をすべてコピーしたいです) よろしくお願いします。
回答: `git-checkout`のmanが言うところの `git checkout [-p|--patch] [] [--] [...]` が所望のコマンドではないでしょうか。 `feature/B` をチェックアウトした状態で、上記コマンドの``の部分に`feature/A`を指定してあげればindexに差分が入った状態になります。 > > The argument can be used to specify a specific tree-ish (i.e. commit, tag or tree) to update the index for the given paths before updating the working tree. > > > ということで具体的には以下のようになると思います。 ``` $ git checkout feature/B $ git checkout feature/A '*' ```