回答:
これはStragerのソリューションの単純化されたバリエーションです。
git log --pretty=format: --name-status | cut -f2- | sort -u
編集:コメントで私にもう少し教えてくれたJakubのおかげで、このバージョンはパイプラインが短く、gitが正しいことを行う機会が増えました。
git log --pretty=format: --name-only --diff-filter=A | sort -u
--all
孤立したヒントが1つ以上ある場合に必要になります。たとえば、1つのリポジトリ内の複数の個別の履歴。
--diff-filter=A
は、既存のファイルをコピーすることによって作成されたファイルを無視するので、常にそれを追加することは必ずしも望ましいとは限りません。
ここに2つの便利なエイリアスがあります:FindFile ff
とFindFilewithCopies ffc
:
# Find if one file ever had into repository
ff = "!git log --pretty=format: --name-status --all -M -B | sort -u | grep $1 #"
# The same as above but showing copied files
ffc = "!git log --pretty=format: --name-status --all -C -M -B | sort -u | grep $1 #"
ファイル名とそれらの操作に関する情報を取得します。
使用例:
$ git ff create
A database/migrations/2014_10_12_000000_create_users_table.php
A database/migrations/2014_10_12_100000_create_password_resets_table.php
A database/migrations/2015_05_11_200932_create_boletin_table.php
A database/migrations/2015_05_15_133500_create_usuarios_table.php
D database/migrations/2015_05_12_000000_create_users_table.php
M database/migrations/2015_05_11_200932_create_boletin_table.php
R051 database/migrations/2014_10_12_000000_create_users_table.php database/migrations/2015_05_12_000000_create_users_table.php
$ git ffc create
A database/migrations/2014_10_12_000000_create_users_table.php
A database/migrations/2014_10_12_100000_create_password_resets_table.php
A database/migrations/2015_05_11_200932_create_boletin_table.php
A database/migrations/2015_05_15_133500_create_usuarios_table.php
C052 database/migrations/2014_10_12_000000_create_users_table.php database/migrations/2015_05_11_210246_create_boletin_nosend_table.php
D database/migrations/2015_05_12_000000_create_users_table.php
M database/migrations/2015_05_11_200932_create_boletin_table.php
R051 database/migrations/2014_10_12_000000_create_users_table.php database/migrations/2015_05_12_000000_create_users_table.php