• ..

AWS

    とあるファイルの内容を別のブランチから現在のブランチにもってくる方法

    やりたくなった理由

    マークアップ系がコンフリクトを起こしてるけど、編集したのは自分じゃないし解決する自信あまりない。でもマージもできないのでCSSファイルなどを持ってきてUIを見ながら修正することもできない。
    調べるとCSS関連のファイルではコンフリクトは起きてないので、これだけ持ってきちゃいたい。

    それワンライナーでできます

    for file in `git diff <比較ブランチ> --name-only | grep .css`; do git checkout develop $file; done

    少し解説

    1. git diff --name-onlyはファイル名だけを羅列するのでそれをgrepでほしいファイルだけに絞り込み
    2. git checkout <とあるブランチ> <filename>でとあるブランチ状態のそのファイルの状態にチェックアウト
    3. for...inで上2つを繰り返し実行