gitでコミット間のファイルを取得

git logo

ファイル名だけ取得

git diff –name-only コミットID..コミットID

git diff --name-only 234..235

ファイル名と新規追加・更新・削除を取得

git diff –name-status コミットID..コミットID

git diff --name-status 234..235

 

git diff 更新ステータスの見方

 M 修正
 A 追加
 C コピー
 R リネーム
 D 削除

 

R100

っていうステータスが出ることがあるが、これは、

「Rename された」もので「内容は100%一致するよ」の意。

1 2

コミットIDを調べるには

git log

 

ファイル自体を取得してzipで固める

こちら(qiita)の記事がとてもわかり易かったです…!!シェルスクリプトもありがたく使わせていただいております。

現在のコミットから一個前のコミットの差分ファイルを抽出する

git archive --format=zip --prefix=21-03-23_sabun/ HEAD `git diff --diff-filter=d --name-only master branch_name` -o 21-03-23_sabun-src.zip

 

–prefix で指定した21-03-23_sabun/ 配下にzipができるかと思ったけど、zipの中に21-03-23_sabun/ ができた。

 

diff のオプションにしていしている、

--diff-filter=d

だけど、「d」と小文字で指定すると、Deleteを除外するという意味。

--diff-filter=D

のように「D」と大文字で指定すると、Deleteのみ抽出される。

コメント

タイトルとURLをコピーしました