Git Show
Czym jest polecenie git-show?
Polecenie git-show
jest narzędziem wiersza polecenia przeznaczonym do wyświetlania rozszerzonych szczegółów obiektów Git, takich jak obiekty blob, drzewa, tagi i commity. Działanie polecenia git-show
jest specyficzne dla każdego typu obiektów.
W przypadku tagów są wyświetlane komunikat tagu oraz inne obiekty uwzględnione w tagu. W przypadku drzew są wyświetlane nazwy oraz zawartość obiektów w drzewie. W przypadku obiektów blob jest wyświetlana ich bezpośrednia zawartość. Z kolei w przypadku commitów są wyświetlane komunikat dziennika commita oraz wersja różnicowa zmian wprowadzonych w commicie.
Wszystkie obiekty Git są dostępne za pomocą referencji. Domyślnie polecenie git-show
działa w oparciu o referencję HEAD. Referencja HEAD zawsze wskazuje na ostatni commit w bieżącej gałęzi. W związku z tym za pomocą polecenia git-show
można wyświetlić komunikat dziennika oraz wersję różnicową najnowszego commita.
Opcje polecenia git-show
<object>…
Przekazanie odniesienia do obiektu lub listy obiektów pozwala przeanalizować te konkretne obiekty. Jeśli nie zostaną przekazane żadne konkretne obiekty, polecenie git-show
domyślnie będzie odnosić się do wskaźnika HEAD.
--pretty[=<format>]
Opcja pretty przyjmuje jedną z wartości dodatkowych formatu: oneline, short, medium, full, fuller, email, raw
i format:<string>
. Jeśli zostanie pominięta, domyślnie będzie stosowana opcja medium
. Każda opcja formatu jest odmiennym szablonem decydującym o sposobie formatowania wyniku polecenia show w Git. Opcja <code>oneline</code> może być bardzo przydatna podczas wyświetlania listy commitów.
--abbrev-commit
Ta opcja skraca długość wyjściowych identyfikatorów commitów. Identyfikatory commitów składają się z 40 znaków i czasami trudno je wyświetlić na wąskich ekranach terminali. Ta opcja w połączeniu z --pretty=oneline
pozwala uzyskać bardzo zwięzły wynik polecenia git log
.
--no-abbrev-commit
Zawsze pokazuje pełny identyfikator commita złożony z 40 znaków. Powoduje zignorowanie opcji --abbrev-commit
oraz wszelkich innych opcji mających na celu skrócenie identyfikatorów commitów, takich jak --oneline format
.
materiały pokrewne
Jak przenieść pełne repozytorium Git
POZNAJ ROZWIĄZANIE
Poznaj środowisko Git z rozwiązaniem Bitbucket Cloud
--oneline
To skrót do korzystania z rozszerzonego polecenia --pretty=oneline --abbrev-commit
.
--encoding[=<encoding>]
Domyślne kodowanie znaków w komunikatach dziennika w Git to UTF-8. Za pomocą tej opcji można zmienić sposób kodowania znaków na inny. Jest to przydatne w przypadku korzystania z Git w środowisku, w którym obowiązuje inne kodowanie znaków, na przykład z terminala w języku azjatyckim.
>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs
Te opcje zastępują znaki tabulacji w wyniku komunikatu dziennika spacjami. Za pomocą wartości n
można skonfigurować liczbę spacji wstawianych zamiast znaku tabulacji. Jeśli wartość n nie zostanie jawnie zdefiniowana, znaki tabulacji będą zastępowane 8 spacjami. --no-expand-tabs
jest odpowiednikiem n=0
.
--notes=<ref>
--no-notes
Git ma wbudowany system notatek, który umożliwia dołączanie dowolnych metadanych typu „notatka” do obiektów. Te dane można ukryć lub filtrować podczas korzystania z polecenia git-show
.
--show-signature
Ta opcja zweryfikuje, czy commit został podpisany podpisem szyfrowanym przez przekazanie go do podpolecenia gpg.
Formaty pretty w poleceniu git-show
Opcja --pretty
omówiona powyżej przyjmuje jedną z kilku dodatkowych opcji określających format danych wyjściowych uzyskiwanych za pomocą polecenia git-show
. Poniżej wymieniono te opcje dodatkowe wraz z przykładowym szablonem:
- oneline
<sha1> <wiersz tytułu>
W formacie oneline system podejmuje próbę skompresowania jak największej ilości informacji w jednym wierszu.
- short
commit <sha1>
Author: <autor>
<wiersz tytułu>
- medium
commit <sha1>
Author: <autor>
Date: <data autora>
<wiersz tytułu>
<pełny komunikat commita>
- full
commit <sha1>
Author: <autor>
Commit: <twórca commita>
<wiersz tytułu>
<pełny komunikat commita>
- fuller
commit <sha1>
Author: <autor>
AuthorDate: <author date>
Commit: <twórca commita>
CommitDate: <data twórcy commita>
<wiersz tytułu>
<pełny komunikat commita>
- e-mail
From <sha1> <data>
From: <autor>
Date: <data autora>
Subject: [PATCH] <wiersz tytułu>
<pełny komunikat commita>
- raw
Format raw ignoruje inne opcje formatowania przekazane do poleceniagit-show
i wyświetla commit w dokładnie takiej postaci, w jakiej został zapisany w obiekcie. Format raw będzie ignorował opcje--abrev
i--no-abbrev
oraz zawsze będzie wyświetlał commity nadrzędne.
- format:
Opcja format umożliwia określenie niestandardowego formatu danych wyjściowych. Działa ona podobnie, jak polecenieprintf
w języku C. Opcja--pretty=format
przyjmuje dodatkową wartość ciągu szablonu. Szablon ma dostęp do zmiennych symboli zastępczych, które zostaną wypełnione danymi z obiektu commita. Poniżej znajduje się lista tych symboli zastępczych:
• %H: hash commita
• %h: skrócony hash commita
• %T: hash drzewa
• %t: skrócony hash drzewa
• %P: hashe elementów nadrzędnych
• %p: skrócone hashe elementów nadrzędnych
• %an: nazwa autora
• %aN: nazwa autora
• %ae: adres e-mail autora
• %aE: adres e-mail autora
• %ad: data autora (format akceptuje opcję --date=)
• %aD: data autora, styl RFC2822
• %ar: data autora, względna
• %at: data autora, znacznik czasu UNIX
• %ai: data autora, format ISO 8601
• %cn: nazwa twórcy commita
• %cN: nazwa twórcy commita
• %ce: adres e-mail twórcy commita
• %cE: adres e-mail twórcy commita
• %cd: data twórcy commita
• %cD: data twórcy commita, styl RFC2822
• %cr: data twórcy commita, względna
• %ct: data twórcy commita, znacznik czasu UNIX
• %ci: data twórcy commita, format ISO 8601
• %d: nazwy referencji, jak w przypadku opcji --decorate polecenia git-log(1)
• %e: kodowanie
• %s: temat
• %f: oczyszczony wiersz tematu, odpowiedni dla nazwy pliku
• %b: treść
• %N: notatki do commita
• %gD: selektor dziennika reflog, np. refs/stash@{1}
• %gd: skrócony selektor dziennika reflog, np. stash@{1}
• %gs: temat dziennika reflog
• %Cred: zmiana koloru na czerwony
• %Cgreen: zmiana koloru na zielony
• %Cblue: zmiana koloru na niebieski
• %Creset: reset koloru
• %C(...): specyfikacja koloru zgodna z opisem w opcji konfiguracji color.branch.*
• %m: znacznik lewy, prawy lub granicy
• %n: nowy wiersz
• %%: znak %
• %x00: drukowanie bajtu z kodu szesnastkowego
• %w([[, : przełączenie zawijania wiersza, jak w przypadku opcji -w w poleceniu git-shortlog[, ]]])
Przykłady polecenia git-show
git show --pretty="" --name-only bd61ad98
To polecenie spowoduje wyświetlenie listy wszystkich plików w commicie, na których wykonano jakąś operację.
git show REVISION:path/to/file
To polecenie spowoduje wyświetlenie konkretnej wersji pliku. Fragment REVISION
zastąp hashem SHA Git.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
To polecenie spowoduje wyświetlenie tagu v2.0.0 oraz commita o identyfikatorze 6ef002d74cbbc099e1063728cab14ef1fc49c783
.
git show commitA...commitD
To polecenie spowoduje wyświetlenie wszystkich commitów z zakresu od commitA
do commitD
.
Podsumowanie
Polecenie git-show
jest bardzo wszechstronnym narzędziem do badania obiektów w repozytorium Git. Można go używać do wyszukania konkretnych plików w konkretnych wersjach. Przeanalizowanie zakresu commitów za pomocą polecenia git-show
spowoduje wyświetlenie wszystkich pojedynczych commitów mieszczących się w zakresie. Polecenie git-show
bywa pomocnym narzędziem do tworzenia uwag do poprawek oraz śledzenia zmian w repozytorium.
Udostępnij ten artykuł
Następny temat
Zalecane lektury
Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.