gitでコミット間のファイルを取得 | クズリーマンのカス備忘録

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

git logo 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_diff_archive.sh 1

「1」ってのが、最新から1個前との差分ってこと。

 

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

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-filter=d オプション

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

--diff-filter=d

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

--diff-filter=D

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

 

qiitaの記事にあげてくださってるシェルスクリプトの関数呼び出し記述

基本的なこだと思うが、このシェルスクリプトを単体で使おうと思ったら、シェルスクリプト内の最下行あたりに以下も追記する。(関数の外に記述する)

git_diff_archive $1 $2

コメント

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