de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
Philip Fourie
Philip Fourie
Question

Jak wyświetlić listę wszystkich plików w commicie?

Szukam prostej komendy git, która dostarcza ładnie sformatowaną listę wszystkich plików, które były częścią zobowiązania, podaną przez hash (SHA1), bez żadnych dodatkowych informacji.

Próbowałem:

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d

Chociaż zawiera listę plików, zawiera również niechciane informacje diff dla każdego z nich.

Czy istnieje inna komenda git, która dostarczy tylko listę, którą chcę, tak, że mogę uniknąć parsowania jej z wyjścia git show?

2604 2009-01-08T12:26:32+00:00 3
Jacek Laskowski
Jacek Laskowski
Edytowane pytanie 27. listopada 2015 в 7:20
Programowanie
git
git-show
Popular videos
View modified files in the last 'n' commits in GIT
View modified files in the last 'n' commits in GIT
4 lata temu
[Kurs Gita w praktyce] Jak wysłać pliki na GitHuba? git commit i git push ⌨️ cz.5 (#13)
[Kurs Gita w praktyce] Jak wysłać pliki na GitHuba? git commit i git push ⌨️ cz.5 (#13)
1 rok temu
👉Git i GitHub w 5 minut | HQ265
👉Git i GitHub w 5 minut | HQ265
3 lata temu
How to List all files in a folder using Java 8
How to List all files in a folder using Java 8
3 lata temu
Write git commit messages like a PRO with Conventional Commits
Write git commit messages like a PRO with Conventional Commits
1 rok temu
Repozytorium GitHub - praktyczne przechowanie projektów
Repozytorium GitHub - praktyczne przechowanie projektów
1 rok temu
[Kurs Gita w praktyce] Do czego jest plik .gitignore? ⌨️ cz.6 (#14)
[Kurs Gita w praktyce] Do czego jest plik .gitignore? ⌨️ cz.6 (#14)
1 rok temu
GIT - podstawy, zdalne repozytoria, gałęzie i łączenie zmian w 20 minut
GIT - podstawy, zdalne repozytoria, gałęzie i łączenie zmian w 20 minut
3 lata temu
[Praktyczny kurs Laravel / PHP] Jak pobierać i wyświetlać dane? Lista użytkowników ⌨️ cz.12 (#19)
[Praktyczny kurs Laravel / PHP] Jak pobierać i wyświetlać dane? Lista użytkowników ⌨️ cz.12 (#19)
1 rok temu
How to List all Git Commits for a File
How to List all Git Commits for a File
7 miesięcy temu
Wyświetlanie, zaznaczanie, sortowanie plików i folderów Windows 10
Wyświetlanie, zaznaczanie, sortowanie plików i folderów Windows 10
4 lata temu
Linux/Bash: wypisywanie zawartości plików - komendy cat, more, less
Linux/Bash: wypisywanie zawartości plików - komendy cat, more, less
1 rok temu
[Praktyczny kurs Laravel / PHP] Jak zrobić upload plików w Laravel? ⌨️ cz.19 (#30)
[Praktyczny kurs Laravel / PHP] Jak zrobić upload plików w Laravel? ⌨️ cz.19 (#30)
1 rok temu
Lista plików znajdujących się w katalogu
Lista plików znajdujących się w katalogu
7 lat temu
Kurs Git od podstaw 3. Branch i merge
Kurs Git od podstaw 3. Branch i merge
10 miesięcy temu
Połączenie backendu i frontendu! [Projekt Youtube] #3
Połączenie backendu i frontendu! [Projekt Youtube] #3
1 rok temu
GIT - Wszystko o commitach [3]
GIT - Wszystko o commitach [3]
1 rok temu
[Praktyczny kurs Laravel / PHP] Jak pobierać i usuwać pliki w Laravelu? ⌨️ cz.32 (#52)
[Praktyczny kurs Laravel / PHP] Jak pobierać i usuwać pliki w Laravelu? ⌨️ cz.32 (#52)
7 miesięcy temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Ryan McGeary
Ryan McGeary
8. stycznia 2009 в 1:02
2009-01-08T13:02:22+00:00
Więcej
Źródło
Edytuj
#8732084

Preferowany sposób (ponieważ jest to polecenie hydrauliczne, które ma być programowe):

$ git diff-tree --no-commit-id --name-only -r bd61ad98
index.html
javascript/application.js
javascript/ie6.js

Inny sposób (mniej preferowany dla skryptów, ponieważ'jest to polecenie porcelanowe; przeznaczone dla użytkownika)

$ git show --pretty="" --name-only bd61ad98    
index.html
javascript/application.js
javascript/ie6.js

  • Argument --no-commit-id wyłącza wyświetlanie ID commitów.
  • Argument --pretty określa pusty łańcuch formatu, aby uniknąć niepotrzebnych elementów na początku.
  • Argument --name-only pokazuje tylko nazwy plików, których to dotyczyło (Dzięki Hank). Użyj zamiast tego name-status, jeśli chcesz zobaczyć co się stało z każdym plikiem (Deleted, Modified, Added)
  • Argument -r służy do rekursji do poddrzew.
Robin Wieruch
Robin Wieruch
Edytowana odpowiedź 27. sierpnia 2019 в 3:41
3471
0
Hank Gay
Hank Gay
8. stycznia 2009 в 12:34
2009-01-08T12:34:49+00:00
Więcej
Źródło
Edytuj
#8732083

I'll just assume that gitk is not desired for this. W takim przypadku spróbuj git show --name-only <sha>.

211
0
 seanhodges
seanhodges
8. stycznia 2009 в 1:59
2009-01-08T13:59:58+00:00
Więcej
Źródło
Edytuj
#8732086

Połączenie "git show --stat" (dzięki Ryan) i kilku komend sed powinno przyciąć dane dla Ciebie:

git show --stat <SHA1> | sed -n "/ [\w]\*|/p" | sed "s/|.\*$//"

Spowoduje to wyświetlenie tylko listy zmodyfikowanych plików.

 Surya
Surya
Edytowana odpowiedź 9. czerwca 2015 в 10:17
5
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
mohidil qodirova
Zarejestrowany 6 godzin temu
2
Jasur Fozilov
Zarejestrowany 19 godzin temu
3
Zuxriddin Muydinov
Zarejestrowany 1 dzień temu
4
Денис Анненский
Zarejestrowany 3 dni temu
5
365
Zarejestrowany 1 tydzień temu
DE
EL
ES
FR
ID
IT
JA
KO
LT
LV
NL
PL
PT
RU
SL
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem