2009-02-12 19 views

Odpowiedz

108

Jest to uproszczona odmiana Strager za solution:

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

Edycja: Dziękuję s do Jakuba, który uczy mnie nieco więcej w komentarzach, ta wersja ma krótszy przebieg i daje git więcej okazji do poprawienia sytuacji.

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

@Dustlin: Dodaj --diff-filter = Opcja (lista dodawać tylko pliki). Obecna wersja (bez filtrów sed tylko dodanych plików) zakończyłoby się niepowodzeniem, jeśli włączono wykrywanie zmian nazw i ich nazwy w historii. Myślę, że możesz wtedy użyć opcji --name-only zamiast --name-status i usunąć 'cut -f2-' z potoku. –

+0

W jednym z moich repozytoriów otrzymuję kilka zduplikowanych wierszy (w tym kilka pustych wierszy na początku wyjścia) z drugim poleceniem, które nie jest duplikatem z pierwszym. –

+0

Jeśli potrzebujesz nieco więcej informacji niż nazwa pliku: $ git log --pretty = format: "% h% an [% cd]:% s" --name-only | cut -f2- | sort -u | grep Filename.ext – Nitay

1

można uruchomić git-log --name-status, który powtarza coś takiego:

commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0 
Author: Your Name <[email protected]> 
Date: Tue Aug 12 13:28:34 2008 -0700 

    Added test file. 

A  test 

rozpakować pliki dodane:

git-log --name-status | sed -ne 's/^A[^u]//p' | sort -u 
10

to robi słusznie za sprawdzenie, czy nazwa pliku była zawsze obecna w repo nie tylko na bieżącym oddział.

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

Oto dwa użyteczne alias: FindFile ff i 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 #" 

można uzyskać informacje na temat nazw plików i operacji z nimi.

Przykładowe użycie:

$ 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 
Powiązane problemy