Gitで特定のファイルだけをマージする
Gitであのブランチのあの修正だけ、今のブランチにほしい時に使う。
cherry-pickのコミットごと取り入れるのだと都合が悪いときに使う
sourcetreeじゃなくて、ターミナルにコマンド打ち込んで行う。
sourcetreeがあるとブランチ名の確認やコミットの状態が確認しやすい。
やり方
code:git
git checkout <ブランチ名> -- <ファイル名>
注意
ファイル名の部分は移動させたいファイルからの相対パスで指定しないと、
code:git
error: pathspec 'hoge.css' did not match any file(s) known to git
ってエラーが出る
sourcetreeからターミナル立ち上げてやるとパス周りでつまりにくくなる
sourcetreeに表示されてるパスを入力すれば操作が通る。
https://gyazo.com/063f2731d26f95c0afc61a8513ce1fbc
SourseTree右上の、 端末 をクリックするとターミナルが開きます。(ディレクトリは現在のローカルリポジトリに自動でなっています)
git checkout {欲しいファイルのあるブランチ名} {欲しいファイルのパス} を入力してEnterするだけ。
備考
ディレクトリもいける
code:git
git checkout <ブランチ名> <ディレクトリ名>
参考
https://qiita.com/oret/items/b646fcada9d89ed308c4
コミット操作あれこれ
Git rebaseを間違えた時に元に戻すには
Gitで親にするブランチを間違えて作業してコミットした時の対処法