72

過去 2 日間に変更されたすべてのファイルのリストを取得するにはどうすればよいですか? 私は知っている

git log --name-status --since="2 days ago" 

しかし、これは私にID、日付、コミットメッセージを表示します。必要なのは、変更されたファイル名のリストだけです。

それはgitで可能ですか?

4

5 に答える 5

104
git log --pretty=format: --name-only --since="2 days ago"

複数のコミットで一部のファイルが重複している場合は、パイプを使用してフィルタリングできます

git log --pretty=format: --name-only --since="2 days ago" | sort | uniq
于 2011-09-21T13:07:51.553 に答える
3

次の方法で、2日前に最も近いバージョンの差分を作成できます。

git diff $(git log -1 --before="2 days ago" --format=%H).. --stat

--stat変更の概要を示します。追加--name-onlyしてメタ情報を除外し、ファイル名のリストのみを作成します。

お役に立てれば。

于 2011-09-21T18:02:49.803 に答える
3

--raw オプションを使用して git log を実行します。

$ git log --raw --since=2.days

--raw 形式で表示されるフラグの説明については、git log ヘルプ ページの --diff-filter 部分を参照してください。彼らは、各コミットでファイルに何が起こるかを説明しています:

   --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
       Select only files that are Added (A), Copied (C), Deleted (D),
       Modified (M), Renamed (R), have their type (i.e. regular file,
       symlink, submodule, ...) changed (T), are Unmerged (U), are Unknown
       (X), or have had their pairing Broken (B). Any combination of the
       filter characters (including none) can be used. When *
       (All-or-none) is added to the combination, all paths are selected
       if there is any file that matches other criteria in the comparison;
       if there is no file that matches other criteria, nothing is
       selected. 
于 2011-09-21T13:43:44.807 に答える
2
git log --pretty="format:" --since="2 days ago" --name-only
于 2011-09-21T12:52:53.303 に答える