Перечислите все файлы, которые когда-либо существовали в репозитории Git - PullRequest
98 голосов
/ 13 февраля 2009

Есть ли у вас чистый способ перечислить все файлы, которые когда-либо существовали в указанной ветви?

Ответы [ 4 ]

122 голосов
/ 13 февраля 2009

Это упрощенный вариант решения Страгера :

git log --pretty=format: --name-status | cut -f2- | sort -u

Редактировать: Спасибо Якубу за то, что он научил меня немного больше в комментариях, эта версия имеет более короткий конвейер и дает git больше возможностей сделать все правильно.

git log --pretty=format: --name-only --diff-filter=A | sort -u
12 голосов
/ 23 августа 2012

Это правильно для проверки того, было ли когда-либо имя файла в репо , а не только в текущей ветви.

git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar
2 голосов
/ 13 февраля 2009

Вы можете запустить git-log --name-status, что напоминает что-то вроде:

commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0
Author: Your Name <your@email.com>
Date:   Tue Aug 12 13:28:34 2008 -0700

    Added test file.

A       test

Затем добавьте извлеченные файлы:

git-log --name-status | sed -ne 's/^A[^u]//p' | sort -u
0 голосов
/ 17 мая 2015

Вот два полезных псевдонима: 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...