Wyświetlanie niewypowiedzianych poleceń Gita

1752

Jak mogę wyświetlić wszelkie zatwierdzenia lokalne, które nie zostały jeszcze wypchnięte do zdalnego repozytorium? Czasami git statuswydrukuje, że moja gałąź to X origin/master, ale nie zawsze.

Czy to błąd w mojej instalacji Git, czy coś mi brakuje?

Josh Buhler
źródło
18
Począwszy od Git 2.5+ (drugi kwartał 2015 r.), Rzeczywista odpowiedź brzmiałaby git log @{push}... Zobacz ten nowy skrót @{push}(odnoszący się do gałęzi zdalnego śledzenia, do którego naciskasz) w mojej odpowiedzi poniżej
VonC
59
@Torek - kolejne proste zadanie utrudnione przez Git. Za każdym razem, gdy pojawia się pytanie Gita z setkami lub tysiącami głosów pozytywnych i milionami wyświetleń, ktoś powinien pomyśleć: Wow, naprawdę spieprzyliśmy ten przepływ pracy. Niestety, deweloperzy Git pominęli etap sprzężenia zwrotnego w cyklu rozwojowym, więc sprzężenie zwrotne nie zostało uwzględnione. Zamiast tego ciągle popełniają te same błędy. Na to pytanie git status --allpowinno się pojawić w 2010 r .; lub git status -vpowinien faktycznie zapewniać pełne dane wyjściowe, które zawierają dodatkowe informacje.
jww
4
Nie zgadzam się z tym, że „git status -v” powinien podawać te informacje, ponieważ ma on na celu nadanie statusu działającego drzewa, ponieważ odnosi się ono tylko do pobranej gałęzi. Zobacz jednak odpowiedź na temat „gałęzi git -v”, która moim zdaniem powinna być przyjętą odpowiedzią
JoelFan
13
To konkretne pytanie StackOverflow ma największą liczbę poprawnych odpowiedzi, które wszystkie działają, ale nie mają żadnego sensu.
Pete Alvin,
@ josh-buhler Przepraszam, przypadkowo obniżyłem głos ... podczas próby kliknięcia „GWIAZDY”. Próbowałem ponownie głosować, ale nie zadziałało!
RafiAlhamd

Odpowiedzi:

1827
git log origin/master..HEAD

Możesz także wyświetlić różnicę przy użyciu tej samej składni

git diff origin/master..HEAD
Peter B.
źródło
3
Zrobiło to dla mnie - z jakiegoś powodu git log origin .. sam z siebie zgłaszał błąd. Wygląda na to, że miałem również problem ze sposobem skonfigurowania mojego lokalnego oddziału - po wprowadzeniu zmian znalazłem tutaj: wincent.com/blog/…… problem został rozwiązany i mogłem ponownie użyć statusu git, aby zobaczyć, co chciałem .
Josh Buhler
6
Nieocenione: tak bardzo, że zrobiłem git config --global alias.ahead "log origin/master..HEAD --oneline", że mogę szybko dowiedzieć się, gdzie jestem. Jeszcze więcej cukierków:for i in *; do echo $i && git ahead 2>/dev/null; done
Jamie
15
git log --stat origin/master..HEADza odrobinę dodatkowej niesamowitości
Cory Danielson
141
To nie jest najlepsze rozwiązanie. Pochodzenie / master nie zawsze może być odgałęzieniem. Lepszym rozwiązaniem jest użycie @ {u} zamiast „origin / master” do wskazania gałęzi upstream. Ponieważ HEAD jest domyślnie domyślny, można to również pominąć. Zobacz odpowiedź @ Ben Linga. Zmiany wychodzące: git log @ {u} .. Zmiany przychodzące: git log .. @ {u}
PlagueHammer
12
@Nocturne Chcę tylko zaznaczyć, że kiedy ta odpowiedź została opublikowana, @{u}składnia nie była jeszcze dostępna, stała się dostępna dopiero 12 lutego 2010 r . Również @{u}nie będzie działać, jeśli lokalny oddział nie jest skonfigurowany z nadrzędnym. Wreszcie, @{u}obecnie nie obsługuje uzupełniania tabulatorów, <remote>/<branch>a uzupełnianie tabulatorów pozostaje jednym z najszybszych sposobów na uzyskanie tych informacji i zadziała niezależnie od tego, czy skonfigurowano upstream.
703

Jeśli chcesz zobaczyć wszystkie zatwierdzenia we wszystkich gałęziach, które nie zostały jeszcze wypchnięte, być może szukasz czegoś takiego:

git log --branches --not --remotes

A jeśli chcesz zobaczyć tylko najnowsze zatwierdzenie dla każdej gałęzi i nazwy gałęzi, to:

git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
cxreg
źródło
8
To jest niesamowite. W pokrewnym scenariuszu miałem dwa oddziały lokalne z dwoma odgałęzieniami wyższego szczebla, a jedna ręka lokalna została połączona z drugą. Chciałem wiedzieć, które zatwierdzenia były bezpieczne, ale normalne git log master..HEADnie zadziałało, ponieważ było wiele potoków. Ten post doprowadził mnie do git log MyBranch --not --remotespokazania wszystkich zatwierdzeń, które nie zostały wypchnięte do żadnego z poprzedniej części w jednym oddziale.
pavon
To było tak przydatne, że aliasowałem to w mojej konfiguracji zsh. Dzięki.
Scotty C.,
Rozumiem, że twoje drugie polecenie wyświetla również listę zatwierdzeń, które nie zostały jeszcze wypchnięte, tylko pokazuje tylko jedną na gałąź.
Stephane
--decoratepokazuje również gałęzie. --graphczyni to jeszcze bardziej oczywistym.
Ray
Zauważ, że te polecenia wyświetlają tylko zatwierdzenia, które nie zostały wypchnięte w żadnej gałęzi. Przykład: powiedzmy, że masz gałąź rozwoju z gałęzią feat-NewThing. Dokonujesz zmian lokalnie, aby feat-NewThing. (Dziennik ma zmiany.) Następnie wypychasz feat-newThing do jego zdalnej gałęzi. (Dziennik jest pusty). Łączysz lokalne feat-newThing, aby rozwijać się lokalnie. Zakładając szybkie przewijanie, dziennik nadal nie zawiera żadnych zmian.
Patrick W
325

Możesz pokazać wszystkie zatwierdzenia, które masz lokalnie, ale nie w górę

git log @{u}..

@{u}lub @{upstream}oznacza odgałęzienie obecnego oddziału (patrz git rev-parse --helplub w git help revisionscelu uzyskania szczegółowych informacji).

Ben Lings
źródło
17
W systemie Windows musiałem zawrzeć ostatni argument w cudzysłowach, na przykład: git log "@ {u} .."
Jon Schneider
git log @{u}.. -p Jedną z najbardziej przydatnych opcji jest -p , która pokazuje różnice wprowadzone w każdym potwierdzeniu.
mQuiroz,
Prawdopodobnie lepszy git log @ {push} .., zobacz inną odpowiedź .
Hans-Peter Störr
183

To działało dla mnie:

git cherry -v 

Jak wskazano w Git: Zobacz wszystkie nieprzypisane zatwierdzenia lub zatwierdzenia, które nie znajdują się w innej gałęzi .

Christian Vielma
źródło
21
Myślę, że to powinna być główna odpowiedź, ponieważ ta daje bardziej zwięzłą listę zatwierdzeń zamiast trudnej do odczytania pełnej różnicy we wszystkich plikach !!
ViFI,
1
git-cherry - „Znajdź zatwierdzenia, które mają być zastosowane do wysyłania”, wydaje się zapewniać to, o co OP chciał, ale tylko z tematem zatwierdzenia, a nie całym komunikatem zatwierdzenia.
Eido95
2
Warto zauważyć, że powie ci to tylko wtedy, gdy w gałęzi, którą aktualnie wypisałeś, są niepoprawne zatwierdzenia. Nie powie ci, czy masz oddział lokalny (obecnie nie wyewidencjonowany) z niepoprawnymi zatwierdzeniami.
Dave Yarwood,
66

Możesz to zrobić za pomocą git log:

git log origin..

Zakładając, że originjest to nazwa twojego upstream, pomijając nazwę rewizji po ..implikuje HEAD, która zawiera listę nowych zatwierdzeń, które nie zostały wypchnięte.

Greg Hewgill
źródło
1
Ilekroć widzę odpowiedź za pomocą git log„2 kropki-nie-3”, zawsze przypomina mi to stackoverflow.com/questions/53569/… ;)
VonC
1
Wystarczy dodać go do odpowiedzi - jeśli nie ma konfiguracji w górę, to polecenie powoduje, że nie skonfigurowano w górę. Uruchom, git branch --set-upstream master origin/<branch>aby skonfigurować w górę, jeśli masz skłonność do używania tego polecenia, aby zobaczyć zatwierdzenia, które są przemieszczane.
asyncwait
Porównamy to z domyślną gałęzią pochodzenia, a nie bieżącą gałęzią zdalną.
greuze
43

Wszystkie pozostałe odpowiedzi mówią o „upstream” (gałęzi, z której pobierasz).
Ale lokalny oddział może przesunąć do innego oddziału, niż ten, który ciągnie od.

mastermoże nie przekazywać do zdalnego oddziału śledzenia „ origin/master”. Upstream oddział dla może być , ale może naciskać na pilocie zdalnego oddziału śledzenia lub nawet . Są one ustawione dla bieżącej gałęzi wraz z wartością.
masterorigin/masterorigin/xxxanotherUpstreamRepo/yyy
branch.*.pushremoteglobal remote.pushDefault

Jest to pilot zdalnego śledzenia oddział, który liczy się przy poszukiwaniu unpushed zobowiązuje: ten, który śledzi branch at the remotegdzie miejscowy oddział zostanie zepchnięte na. Może być znowu, albo nawet .
branch at the remoteorigin/xxxanotherUpstreamRepo/yyy

Git 2.5+ (drugi kwartał 2015 r.) Wprowadza do tego nowy skrót: <branch>@{push}

Zobacz popełnić 29bc885 , popełnić 3dbe9db , popełnić adfe5d0 , popełnić 48c5847 , popełnić a1ad0eb , popełnić e291c75 , popełnić 979cb24 , popełnić 1ca41a1 , popełnić 3a429d0 , popełnić a9f9f8c , popełnić 8770e6f , popełnić da66b27 , popełnić f052154 , popełnić 9e3751d , popełnić ee2499f [Wszystkie z 21 maja 2015] i zatwierdzenie e41bf35 [01 maja 2015] przez Jeffa Kinga ( peff) .
(Połączone przez Junio ​​C Hamano - gitster-w commit c4a8354 , 05 cze 2015)

Zatwierdź adfe5d0 wyjaśnia:

sha1_name: zaimplementuj @{push}skrót

W trójkątnym przepływie pracy każda gałąź może mieć dwa odrębne punkty zainteresowania: ten @{upstream}, z którego normalnie pobierasz, i miejsce docelowe, do którego zwykle pchasz. Ten ostatni nie jest skrótem, ale warto go mieć.

Na przykład możesz chcieć wiedzieć, które zobowiązania jeszcze nie zostały wypchnięte :

git log @{push}..

Lub jako bardziej skomplikowany przykład, wyobraź sobie, że zwykle pobierasz zmiany z origin/master(które ustawiasz jako swoje @{upstream}) i przesuwasz zmiany do własnego osobistego rozwidlenia (np. As myfork/topic).
Możesz naciskać na swój widelec z wielu maszyn, co wymaga zintegrowania zmian z miejsca docelowego push, a nie z góry .
Dzięki tej łatce możesz po prostu:

git rebase @{push}

zamiast wpisywać pełne imię i nazwisko.

Commit 29bc885 dodaje:

for-each-ref: zaakceptuj %(push)format „ ”

Tak jak mamy „ %(upstream)”, aby zgłosić „ @{upstream}” dla każdego odwołania, ta łatka dodaje „ %(push)”, aby dopasować „ @{push}”.
Obsługuje te same modyfikatory formatu śledzenia, co upstream (ponieważ możesz chcieć na przykład wiedzieć, które gałęzie zatwierdzają push ).

Jeśli chcesz zobaczyć, ile zatwierdzeń Twoje lokalne oddziały są do przodu / do tyłu w porównaniu z oddziałem, do którego naciskasz:

git for-each-ref --format="%(refname:short) %(push:track)" refs/heads
VonC
źródło
42

Przydatny alias git do wyszukiwania niepoprawnych commits w bieżącej gałęzi:

alias unpushed = !GIT_CURRENT_BRANCH=$(git name-rev --name-only HEAD) && git log origin/$GIT_CURRENT_BRANCH..$GIT_CURRENT_BRANCH --oneline

Co to w zasadzie robi:

git log origin/branch..branch

ale także określa bieżącą nazwę oddziału.

zabiera
źródło
8
To jest niesamowite! Jeśli nie znasz aliasów, po prostu dodaj je do pliku ~ / .gitconfig w sekcji [alias].
Gary Haran
1
Kopiowanie / wklejanie w bash nie działa, ale skrypt jest bardzo przydatny i zrozumiały
greuze
To nie jest alias bash, jak wskazuje @GaryHaran. Istnieje także polecenie git do dodawania aliasów: git alias <alias-name> <command>W takim przypadku polecenie powinno być otoczone pojedynczymi cudzysłowami, aby uniknąć znaków specjalnych z powłoki.
Dag Høidahl
4
To byłoby:git config --global alias.unpushed '!GIT_CURRENT_BRANCH=$(git name-rev --name-only HEAD) && git log origin/$GIT_CURRENT_BRANCH..$GIT_CURRENT_BRANCH --oneline'
Ricky Levi
Wydaje się to w zasadzie takie samo jak git log @ {u} .. - zobacz inną odpowiedź .
Hans-Peter Störr
35

Możesz spróbować....

gitk

Wiem, że nie jest to czysta opcja wiersza poleceń, ale jeśli masz ją zainstalowaną i korzystasz z systemu GUI, to świetny sposób, aby zobaczyć dokładnie to, czego szukasz, i wiele więcej.

(Tak naprawdę jestem zaskoczony, że nikt o tym nie wspominał.)

Justin Ohms
źródło
3
gitk --alldo przeglądania wszystkich gałęzi.
Ray
3
tigjest alternatywą ncurses.
Ray
@ justin-ohms gitkjest niesamowity! Nigdy nie wiedziałem, że to istnieje! Przydatne do przeglądania zmian w ładnym interfejsie użytkownika.
RafiAlhamd
@ray tigjest najbardziej przydatny w sytuacji „tylko terminala” - gdy nie masz dostępu do graficznego interfejsu użytkownika. Dowiedz się o tym po raz pierwszy! CIEKAWE: tigjest ODWRÓCONY git!
RafiAlhamd
30

git branch -v pokaże, dla każdego oddziału lokalnego, czy jest „przed”, czy nie.

Aurelien
źródło
2
Tak, w przypadku nieprzypisanego zatwierdzenia na gałęzi devel, odpowiednia linia będzie * devel 8a12fc0 [ahead 1] commit msg( *będzie tylko w linii odpowiadającej sprawdzonej gałęzi). ahead 1oznacza „z wyprzedzeniem o jeden zatwierdzenie”, tzn. istnieje jedno nieprzypisane zatwierdzenie.
Aurelien,
2
Nie jest to git branch -vv? Por. docs: „Jeśli podano dwa razy, wypisz również nazwę gałęzi upstream (patrz także git remote show <remote>).”
Dirty Henry
Nie chodzi tu o wypisanie nazwy gałęzi upstream, ale o wypisanie behindi / lub aheadkażdego oddziału lokalnego, co wystarczy, aby rozwiązać problem OP (wykrywanie niepoprawnych commits). git branch -vwystarczy do tego, właśnie przetestowałem ponownie z Git 2.16.2 :)
Aurelien
Opcja -vv jest przydatna, ponieważ pokazuje różnicę między gałęziami, które są aktualne w pilocie, a tymi, które w ogóle nie zostały wypchnięte. (Tylko jedno -v pokazuje się identycznie na wyświetlaczu.)
RM
30

Miałem wcześniej dokonane zatwierdzenie, nie wypychane do żadnej gałęzi, ani zdalnie, ani lokalnie. Tylko zatwierdzenie. Nic z innych odpowiedzi nie działało dla mnie, ale z:

git reflog

Tam znalazłem swoje zatwierdzenie.

Olaia
źródło
Jak podano w tym linku git-scm.com/docs/git-reflog , dzienniki referencyjne lub „dzienniki rejestrów”, rejestruj, kiedy porady oddziałów i inne referencje zostały zaktualizowane w lokalnym repozytorium. W moim przypadku sklonowałem repozytorium, utworzyłem nową gałąź, usunąłem gałąź, utworzyłem nową, utworzyłem zatwierdzenie i zmieniłem zatwierdzenie. Wszystkie te kroki zostały zapisane jako HEAD @ {0}: zatwierdzenie (zmiana): .. HEAD @ {1}: zatwierdzenie: ... HEAD @ {2}: pobranie: przejście z ... do ... HEAD @ { 3}: wyrejestrowanie: przejście z ... do ... HEAD @ {4}: klon: z #sorry dla formatu SO najwyraźniej nie dopuszcza multilinii w komentarzach
prędkość
dotyczy to również zatwierdzeń pochodzenia, najlepszym rozwiązaniem byłoby użycie polecenia udostępnionego przez @PlagueHammer ( stackoverflow.com/a/2016954/624048 )
Lincoln
20

Używam następującego aliasu, aby uzyskać tylko listę plików (i status), które zostały zatwierdzone, ale nie zostały wypchnięte (dla bieżącej gałęzi)

git config --global alias.unpushed \
"diff origin/$(git name-rev --name-only HEAD)..HEAD --name-status"

następnie po prostu wykonaj:

git unpushed
CCC
źródło
wygląda interesująco, ale $ (git name-rev - HEAD tylko nazwa) jest w moim przypadku „niezdefiniowany”
vak
13

Uważam, że najbardziej typowym sposobem na to jest uruchomienie czegoś takiego:

git cherry --abbrev=7 -v @{upstream}

Jednak osobiście wolę biegać:

git log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..

który pokazuje zatwierdzenia ze wszystkich gałęzi, które nie są scalone w górę, plus ostatnie zatwierdzenie w górę (które pojawia się jako węzeł główny dla wszystkich pozostałych zatwierdzeń). Używam go tak często, że stworzyłem noupdla niego alias .

git config --global alias.noup \
'log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..'
Giorgos Kylafas
źródło
11

Sugeruję, abyś zobaczył skrypt https://github.com/badele/gitcheck , kodowałem ten skrypt do sprawdzenia w jednym przejściu wszystkich twoich repozytoriów git i pokazuje, kto się nie zobowiązał, a kto nie pchnął / nie wyciągnął.

Oto przykładowy wynik wprowadź opis zdjęcia tutaj

Bruno Adelé
źródło
1
Czy możesz wyjaśnić, jak uruchomić tę wtyczkę na komputerze z systemem Windows? Próbuję uruchomić pip, ale w wierszu polecenia brakuje polecenia. Mam zainstalowany Python, ale nie jestem pewien, czy to wystarczy.
Konrad Szałwiński
@ KonradSzałwiński Nie mam komputera z systemem Windows, ale w tym temacie ( stackoverflow.com/questions/4750806/… ) użytkownik wydaje się odpowiadać na twoje pytanie :). Ale nie testowałem w systemie Windows i nie jestem pewien, czy to zadziała.
Bruno Adelé
@ KonradSzałwiński, współautor github ChristianTremblay dodał obsługę Windows. Teraz gitcheck działa w systemie Windows. Możesz pobrać go na github.com/badele/gitcheck
Bruno Adelé
Teraz możesz także używać gitcheck bezpośrednio z kontenera dokowanego (z plikami w hoście) Aby uzyskać więcej informacji, zobacz projekt gitubck gitcheck
Bruno Adelé
Dzięki za opublikowanie tego, wydaje się to bardzo przydatne. Próbowałem zainstalować, ale po instalacji nie mogę znaleźć lokalizacji skryptu, aby go uruchomić. $ pip install git + git: //github.com/badele/gitcheck.git Zbieranie git + git: //github.com/badele/gitcheck.git Klonowanie git: //github.com/badele/gitcheck.git do c : \ users \ u6041501 \ appdata \ local \ temp \ pip-bxt472z_-build Instalowanie zebranych pakietów: gitcheck Uruchamianie setup.py instalacji dla gitcheck: rozpoczęto Uruchamianie setup.py instalacji dla gitcheck: zakończone ze statusem „gotowe” Zainstalowano gitcheck-0.3 .22
Lauren Fitch
10
git cherry -v

Spowoduje to wyświetlenie lokalnej historii komentarzy (jeszcze nie przekazanych) z odpowiednią wiadomością

sieć reklamowa
źródło
9

To nie jest błąd. To, co prawdopodobnie widzisz, to status git po nieudanym automatycznym scaleniu, w którym zmiany z pilota są pobierane, ale jeszcze nie scalone.

Aby zobaczyć zatwierdzenia między lokalnym repo i zdalnym wykonaj następujące czynności:

git fetch

Jest to w 100% bezpieczne i nie będzie wyśmiewać kopii roboczej. Jeśli byłyby zmiany, git statuspokażą się X commits ahead of origin/master.

Możesz teraz wyświetlać dziennik zatwierdzeń, które są w trybie zdalnym, ale nie lokalnym:

git log HEAD..origin
Igor Zevaka
źródło
8

To działało dla mnie lepiej:

git log --oneline @{upstream}..

lub:

git log --oneline origin/(remotebranch)..
VaTo
źródło
2
Dla każdego, kto zastanawia się, @{upstream}jest dosłowny ( upstreamto magiczne słowo), a remotebranchto tylko nazwa twojej gałęzi.
Steve Bennett,
7

Istnieje narzędzie o nazwie unpushed, które skanuje wszystkie repozytorium Git, Mercurial i Subversion w określonym katalogu roboczym i wyświetla listę niezatwierdzonych plików i nieprzypisanych zatwierdzeń. Instalacja jest prosta w systemie Linux:

$ easy_install --user unpushed

lub

$ sudo easy_install unpushed

zainstalować w całym systemie.

Użycie jest również proste:

$ unpushed ~/workspace
* /home/nailgun/workspace/unpushed uncommitted (Git)
* /home/nailgun/workspace/unpushed:master unpushed (Git)
* /home/nailgun/workspace/python:new-syntax unpushed (Git)

Zobacz unpushed --helplub oficjalny opis, aby uzyskać więcej informacji. Posiada również skrypt cronjob unpushed-notifydo powiadamiania na ekranie o niezalecanych i nieprzypisanych zmianach.

pistolet do paznokci
źródło
5

Aby łatwo wyświetlić listę wszystkich nieprzypisanych zmian we wszystkich gałęziach , możesz użyć tego polecenia:

 git log --branches  @{u}..
Mohsen Kashi
źródło
4

Podobne: Aby wyświetlić nie scalone gałęzie:

git branch --all --no-merged

Można podejrzewać, ale polecam odpowiedź cxreg

Christophe Roussy
źródło
3

Jeśli liczba zatwierdzeń, które nie zostały wypchnięte, jest liczbą jednocyfrową, co często jest, najprostszym sposobem jest:

$ git checkout

git odpowiada informując cię, że jesteś „z wyprzedzeniem N zobowiązuje” względem swojego pochodzenia. Więc teraz pamiętaj o tej liczbie podczas przeglądania dzienników. Jeśli „wyprzedzasz o 3 zatwierdzenia”, 3 najważniejsze zatwierdzenia w historii są nadal prywatne.

Kaz
źródło
2

Jednym ze sposobów robienia rzeczy jest lista zatwierdzeń, które są dostępne w jednym oddziale, ale nie w drugim.

git log ^origin/master master
Alex
źródło
Co robi znak „^”?
Aran Mulholland
@AranMulholland oznacza nie tutaj.
Alex
1

Jak powiedziano powyżej:

git diff origin / master..HEAD

Ale jeśli używasz git gui

Po otwarciu interfejsu GUI wybierz „Repozytorium” -> Pod tym „ Wizualizuj historię

Uwaga: Niektóre osoby lubią używać CMD Monit / Terminal, podczas gdy inne lubią używać Git GUI (dla uproszczenia)

vrnair24
źródło
opcja wizualizacji w git gui jest jedna.
Rajesh Kolhapure
-2

Oto moje przenośne rozwiązanie (skrypt powłoki, który działa również w systemie Windows bez dodatkowej instalacji), który pokazuje różnice w pochodzeniu dla wszystkich gałęzi: git-fetch-log

Przykładowy wynik:

==== branch [behind 1]

> commit 652b883 (origin/branch)
| Author: BimbaLaszlo <[email protected]>
| Date:   2016-03-10 09:11:11 +0100
|
|     Commit on remote
|
o commit 2304667 (branch)
  Author: BimbaLaszlo <[email protected]>
  Date:   2015-08-28 13:21:13 +0200

      Commit on local

==== master [ahead 1]

< commit 280ccf8 (master)
| Author: BimbaLaszlo <[email protected]>
| Date:   2016-03-25 21:42:55 +0100
|
|     Commit on local
|
o commit 2369465 (origin/master, origin/HEAD)
  Author: BimbaLaszlo <[email protected]>
  Date:   2016-03-10 09:02:52 +0100

      Commit on remote

==== test [ahead 1, behind 1]

< commit 83a3161 (test)
| Author: BimbaLaszlo <[email protected]>
| Date:   2016-03-25 22:50:00 +0100
|
|     Diverged from remote
|
| > commit 4aafec7 (origin/test)
|/  Author: BimbaLaszlo <[email protected]>
|   Date:   2016-03-14 10:34:28 +0100
|
|       Pushed remote
|
o commit 0fccef3
  Author: BimbaLaszlo <[email protected]>
  Date:   2015-09-03 10:33:39 +0200

      Last common commit

Parametry przekazane do dziennika, np. --onelineLub --patchmogą być użyte.

bimlas
źródło
-3
git show

pokaże wszystkie różnice w twoich lokalnych zobowiązaniach.

git show --name-only

pokaże identyfikator lokalnego zatwierdzenia i nazwę zatwierdzenia.

użytkownik2387567
źródło
3
git showpokazuje tylko ostatnie zatwierdzenie, bez względu na to, czy zostało ono wypchnięte do pilota, czy nie, nie pokaże wszystkich twoich nieprzypisanych zatwierdzeń.
-6
git diff origin

Zakładając, że twoja gałąź jest skonfigurowana do śledzenia pochodzenia, powinno to pokazać różnice.

git log origin

Daje ci podsumowanie zobowiązań.

mopoke
źródło
3
git log originpokaże zatwierdzenia, które zostały już wypchnięte , ale nie pokażą zatwierdzeń, które nie zostały wypchnięte , co jest bardziej zgodne z tym, o co prosił oryginalny plakat.