Список всех файлов, которые когда-либо существовали в репозитории Git

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

Ответы

Ответ 1

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

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

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

git log --pretty=format: --name-only --diff-filter=A | sort -u

Ответ 2

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

git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar

Ответ 3

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

commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0
Author: Your Name <[email protected]>
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

Ответ 4

Вот два полезных псевдонима: 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