Czy masz czysty sposób na wylistowanie wszystkich plików, które istniały w określonej gałęzi?Lista wszystkich plików, które istniały w repozytorium Git.
85
A
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
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
- 1. Git: Lista wszystkich plików z niezmienioną flagą
- 2. Git - lista wszystkich autorów folderu plików?
- 3. repozytorium git ignorowanie wszystkich .dlls
- 4. Lista pilotów do repozytorium git?
- 5. git: lista wszystkich zmienionych plików, łącznie z tymi w submodułach
- 6. git - lista wszystkich zmienionych, ale nie usuniętych plików w zatwierdzeniu
- 7. Jak uzyskać liczbę wszystkich plików w repozytorium git?
- 8. git: lista wszystkich nazw plików i skrótów ich ostatniego zatwierdzenia
- 9. lista wszystkich artefaktów z repozytorium maven
- 10. Lista wszystkich plików w jednym katalogu PHP
- 11. Lista wszystkich plików w pakiecie homebrew
- 12. Utrzymywanie repozytorium Git w innym repozytorium git
- 13. Lista wszystkich aktualnie otwartych uchwytów plików?
- 14. Jak zdobyć repozytorium git, które wcześniej sklonowałem?
- 15. git commit kasowanie wszystkich plików w repo
- 16. Utwórz repozytorium git zawierające inne repozytorium git.
- 17. Lista wszystkich wersji plików w subversion? (Usuń pliki po nazwie)
- 18. Lista wszystkich zarejestrowanych plików w jednym zatwierdzeniu cvs
- 19. Lista wszystkich plików ze wszystkich folderów na jednej liście
- 20. Lista wszystkich wersji danego numeru wiersza w historii GIT
- 21. Które pliki projektu Xcode mogę "wykluczyć" z mojego repozytorium git?
- 22. lista wszystkich plików nagłówkowych zawartych w pliku C
- 23. Lista wszystkich znaków specjalnych, które muszą zostać zmienione w regex
- 24. Odzyskiwanie złamany repozytorium git
- 25. lista wszystkich plików w folderze, a także podfoldery
- 26. Git - Przeglądaj zdalne repozytorium
- 27. Jak ustawić Git, aby wyświetlał listę plików, które są śledzone?
- 28. Jak znaleźć N największych plików w repozytorium git?
- 29. git: lista wszystkich plików dodanych/zmodyfikowanych na dzień (lub tydzień/miesiąc ...)
- 30. Jak poprawnie używać uprawnień do plików grupowych w repozytorium git?
@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. –
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. –
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