web-dev-qa-db-ja.com

git:日(または週/月...)に追加/変更されたすべてのファイルを一覧表示します

一定の期間(たとえば、1日、1週間、1か月)が与えられた場合、この時間内に変更または追加されたすべてのファイルを一覧表示することは可能ですか?

43
thias

私はdiffを使用してファイルリストを直接生成します、例えば:

git diff --name-only "@{3 days ago}" "@{2 days ago}"

changelog.txt
newfile.txt

変更または追加されたファイルが気になる場合は、代わりに--name-statusを使用してください。

git diff --name-status "@{3 days ago}" "@{2 days ago}"

M       changelog.txt
A       newfile.txt
40
inger

多分これ:

  git log --since="1 day ago" --name-only --pretty=format: | sort | uniq

含む--until日、週などが必要な場合.

35
manojlds

私はこれを使ってきれいなリストを取得します:

git whatchanged --since '04/14/2013' --until '05/22/2014' --oneline --name-only --pretty=format: | sort | uniq >> changedlist.txt
22
anshuman

Git whatchanged は、変更されたファイルをリストして、必要なものを提供するはずです。

Gitソースを使用した例を次に示します。

$ git --version
git version 1.7.8.rc0.35.gee6df
$ git whatchanged --since '10/27/2011' --until '10/30/2011' --oneline
55e7c0a (squash) test for previous
:100755 100755 dbf623b... 53905a2... M  t/t8006-blame-textconv.sh
2564aa4 blame.c: Properly initialize strbuf after calling, textconv_object()
:100644 100644 173f286... e39d986... M  builtin/blame.c
e8e1c29 Update draft release notes to 1.7.8
:100644 100644 3045245... ddb8d37... M  Documentation/RelNotes/1.7.8.txt
8debf69 clone: Quote user supplied path in a single quote pair
:100644 100644 488f48e... efe8b6c... M  builtin/clone.c
11
Dan Cruz

試してください:

git log --since="2 days ago" --until="1 days ago"

--untilを省略すると、過去2日間のログが取得されます。週、月などを指定することもできます。--sinceおよび--untilパラメーターを指定してgit diffを使用することもできます。出力フォーマットについて少し作業すれば完了です。

5
yasar

空の行がないもう1つあります。

git log --after="2015-11-05T16:36:00-02:00" --before="2015-11-15T16:36:00-02:00" --pretty=format:"" --name-only | sed '/^\s*$/d' | sort | uniq -u
5
metal4people

Git BASHコマンド

git whatchanged --since '11/24/2017' --until '11/29/2017' --oneline --name-only --pretty=format: | sort | uniq >> changedlist.txt
0
Tamilselvan K