remove - git remote
Lista todos los archivos que alguna vez existieron en un repositorio de Git (4)
¿Tiene una forma clara de enumerar todos los archivos que alguna vez existieron en una rama específica?
Aquí hay dos alias útiles: FindFile ff
y 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 #"
Obtiene información sobre nombres de archivo y operaciones con ellos.
Uso de muestra:
$ 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
Esta es una variación simplificada de la solution de Strager:
git log --pretty=format: --name-status | cut -f2- | sort -u
Editar: Gracias a Jakub por enseñarme un poco más en los comentarios, esta versión tiene una cartera más corta y le da a git más oportunidades de hacer las cosas bien.
git log --pretty=format: --name-only --diff-filter=A | sort -u
Esto hace lo correcto para verificar si un nombre de archivo estuvo siempre presente en el repositorio no solo en la rama actual.
git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar
Puede ejecutar git-log --name-status
, que se hace eco de algo como:
commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0
Author: Your Name <[email protected]>
Date: Tue Aug 12 13:28:34 2008 -0700
Added test file.
A test
Luego extraiga los archivos agregados:
git-log --name-status | sed -ne ''s/^A[^u]//p'' | sort -u