Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

git format-patchで外に出す用のパッチを生成する

git format-patchは外に出す用のパッチを生成するコマンドです。

過去N回分のパッチをつくる

"-3"オプションをつけると最新三個分のパッチを吐き出します。
末尾にファイル名なりディレクトリ名なりを入れれば、
その範囲が更新された範囲が更新されたものだけ抽出してくれるので便利です。

$ git format-patch -3 sample.txt 
0001-2nd-edition.patch
0002-giteveryday.patch
0003-uiui.patch

生成されたファイルには次の様な内容が記入されています。

$ cat 0001-2nd-edition.patch 
From de5dcdf09ea2a550f16769703d4d8c8e869d291e Mon Sep 17 00:00:00 2001
From: Shuzo <shuzo_kino@Shuzo-MacBook-Pro.local>
Date: Tue, 24 Nov 2015 23:17:31 +0900
Subject: [PATCH 1/3] 2nd edition

---
 sample.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sample.txt b/sample.txt
index 76e579a..2c3276d 100644
--- a/sample.txt
+++ b/sample.txt
@@ -1,2 +1,2 @@
-test
-
+fuga
+foga
-- 
2.4.9 (Apple Git-60)

これはUNIX mailbox formatと呼ばれるもので、見たまんまメールの様式です。
これはgit-amコマンドで反映することができます。

なお、以前書いた
shuzo-kino.hateblo.jp
とはまた違った形なので注意が必要です。

参考もと