Security JAWS 【第13回】 勉強会 での登壇資料 https://s-jaws.doorkeeper.jp/events/91099

gitで差分を抽出してpatchで使えるファイルを生成したい時、毎回同じ検索ワードで検索して、毎回同じサイトを見ていたので、自分用にメモ。普通のpatchコマンドで取り込めるdiffファイルをgitで作成する – kanonjiの日記という記事が自分にとって一番分かりやすかった。このページを参考に、自分が使う用に書いておく。 $ # ファイルを生成 $ git diff (diffの方法) > (パッチ名.patch) $ # 実行結果を確認 $ patch --dry-run -p1 例 $ git diff develop features/dummy > diff.patch $ patch --dry-run -p1 gitに関する書籍
git diff 使い方 ワークツリーとインデックスの差分を表示する git diff とするとワークツリーとインデックスの差分が表示される。 ワークツリーと HEAD の差分を表示する 現在のワークツリーが最後のコミットからどのように編集されたかを調べるには git diff HEAD とする。 特定のファイルの差分を表示する 「git diff」の後にパスを指定すればよい。 このときに、「git diff」の後にコミットを指定していて うまくいかないような場合は、「–」をはさむ。 たとえば、file1.txt、file2.txt の差分を表示するには git diff file1.txt file2.txt git diff -- file1.txt file2.txt とする。 インデックスと HEAD の差分(次にコミットする差分)を表示する 次にコミットする内容を表示するには「–
まとめ $ git diff --no-prefix HEAD~ > thisis.patch $ patch --dry-run -p0 < thisis.patch $ patch -p0 < thisis.patch git diffに--no-prefixをつける事で、普通のpatchで当てられるパッチファイルを出力できます。この例ではHEADの1個前*1からHEAD*2までのパッチです。 普通のpatchコマンドのほうの知識があまり無くて-p0がいまいちよく分からないんですが、git diff --no-prefixで作成したパッチファイルを当てるには必要みたいです。--dry-runは、実際には当てないけど当てた場合の結果を出力します。なので、まずは--dry-runで確認して、問題が無ければ実際にパッチを当てます。 エントリー書いた後に教えてもらった補足 patch -p1の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く