やりたくなった理由
マークアップ系がコンフリクトを起こしてるけど、編集したのは自分じゃないし解決する自信あまりない。でもマージもできないのでCSSファイルなどを持ってきてUIを見ながら修正することもできない。
調べるとCSS関連のファイルではコンフリクトは起きてないので、これだけ持ってきちゃいたい。
それワンライナーでできます
for file in `git diff <比較ブランチ> --name-only | grep .css`; do git checkout develop $file; done
少し解説
git diff --name-only
はファイル名だけを羅列するのでそれをgrep
でほしいファイルだけに絞り込みgit checkout <とあるブランチ> <filename>
でとあるブランチ状態のそのファイルの状態にチェックアウトfor...in
で上2つを繰り返し実行