Dzięki --prettymożesz użyć %dtam, gdzie chcesz „ozdoby”.
CB Bailey,
4
@noli: Czego się spodziewasz? Nie wszystkie zatwierdzenia są wskazówkami dla oddziałów.
CB Bailey,
9
@noli git przechowuje tylko nazwę oddziału przy ostatnim zatwierdzeniu oddziału (wskazówka). Wszystkie zmiany w historii są równe i anonimowe. Jeśli chcesz mieć nazwane gałęzie, aby każde zatwierdzenie nosiło nazwę gałęzi, możesz użyć Mercurial.
Sampo Smolander
7
@CharlesBailey: Lubię kolory referencji git log --graph --all --oneline --decorate. Mam alias, git graphktóry używa --pretty(aby pokazać także inne rzeczy, takie jak autor i data), ale %dnie daje mi kolorów --decorate. Używam teraz żółtego dla wszystkich moich referencji, czy wiesz, jak mogę pozwolić --pretty, aby %dsznur odziedziczył kolory --decorate?
Gauthier
3
@Gauthier Jeśli chcesz mieć domyślne kolory w swoich --prettyformatach, dodaj %C(auto)przed elementem, co powinno być pokolorowane. np.git log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Radon8472,
7
Szukałem czegoś podobnego do tego - ale chciałem wiedzieć, jaką gałąź dokonano zmiany. Mam nadzieję, że ta odpowiedź przyda się także innym.
Badam ryzyko związane z blackboxszyfrowaniem, w którym repo i jego gałęzie / tagi mogą stać się niedostępne dla obecnych, adminsgdy wystarczająca liczba użytkowników opuści projekt, a keyringskatalog nie został oparty na religii na podstawie wzorca)
Odkryłem, że poniższa odpowiedź była pomocna, gdy keyringskatalog nie został zaktualizowany z poziomu głównego ...
Zasadniczo --sourcepotrzebowałem dodać gałęzie / tagi. Dodanie --name-onlypokaże również, który plik został faktycznie zmieniony.
cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings
Dla mnie --sourcesam daje HEADza wszystkie zobowiązania. W połączeniu z --alltym wydaje się, że rozróżnia się różne gałęzie, ale wyświetlane informacje nie są tym, czego oczekuję: dla zatwierdzeń, które zrobiłem master, zamiast uzyskać refs/heads/master, otrzymuję prywatną gałąź ( refs/remotes/origin/…). Podejrzewam, że fuzje i / lub nowe oddziały powodują Gitutratę informacji historycznych.
vinc17
Zamiast tego --allmogę filtrować gałęzie za pomocą --branches --remotes=<pattern>, ale gdy tylko dwie gałęzie zostaną połączone, Git nie ma już informacji o tym, który z nich miał zatwierdzenie, kiedy zostało wykonane.
vinc17
1
Jeśli używasz oh-my-zsh jako terminala, to dostępnych jest kilka aliasów git. Wszystko to można zobaczyć na ich repozytorium oh-my-zsh / plugins / git . Jeśli nie korzystasz z tego terminala, możesz po prostu chwycić aliasy i wkleić te, które Ci się podobają, we własnym środowisku.
Przyjęta odpowiedź przedstawia git log --graph --all --decoratepolecenie, które jest dostępne jako glggaalias w oh-my-zsh.
git
aktualizacji.Odpowiedzi:
Wypróbuj opcję dekoracji.
Adnotuje zatwierdzenia wskazane przez tagi lub gałęzie.
źródło
--pretty
możesz użyć%d
tam, gdzie chcesz „ozdoby”.git log --graph --all --oneline --decorate
. Mam alias,git graph
który używa--pretty
(aby pokazać także inne rzeczy, takie jak autor i data), ale%d
nie daje mi kolorów--decorate
. Używam teraz żółtego dla wszystkich moich referencji, czy wiesz, jak mogę pozwolić--pretty
, aby%d
sznur odziedziczył kolory--decorate
?--pretty
formatach, dodaj%C(auto)
przed elementem, co powinno być pokolorowane. np.git log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Szukałem czegoś podobnego do tego - ale chciałem wiedzieć, jaką gałąź dokonano zmiany. Mam nadzieję, że ta odpowiedź przyda się także innym.
Badam ryzyko związane z
blackbox
szyfrowaniem, w którym repo i jego gałęzie / tagi mogą stać się niedostępne dla obecnych,admins
gdy wystarczająca liczba użytkowników opuści projekt, akeyrings
katalog nie został oparty na religii na podstawie wzorca)Odkryłem, że poniższa odpowiedź była pomocna, gdy
keyrings
katalog nie został zaktualizowany z poziomu głównego ...Zasadniczo
--source
potrzebowałem dodać gałęzie / tagi. Dodanie--name-only
pokaże również, który plik został faktycznie zmieniony.Inna przydatna odpowiedź: jak wyświetlić git log z nazwą oddziału
źródło
--source
sam dajeHEAD
za wszystkie zobowiązania. W połączeniu z--all
tym wydaje się, że rozróżnia się różne gałęzie, ale wyświetlane informacje nie są tym, czego oczekuję: dla zatwierdzeń, które zrobiłemmaster
, zamiast uzyskaćrefs/heads/master
, otrzymuję prywatną gałąź (refs/remotes/origin/…
). Podejrzewam, że fuzje i / lub nowe oddziały powodująGit
utratę informacji historycznych.--all
mogę filtrować gałęzie za pomocą--branches --remotes=<pattern>
, ale gdy tylko dwie gałęzie zostaną połączone, Git nie ma już informacji o tym, który z nich miał zatwierdzenie, kiedy zostało wykonane.Jeśli używasz oh-my-zsh jako terminala, to dostępnych jest kilka aliasów git. Wszystko to można zobaczyć na ich repozytorium oh-my-zsh / plugins / git . Jeśli nie korzystasz z tego terminala, możesz po prostu chwycić aliasy i wkleić te, które Ci się podobają, we własnym środowisku.
Przyjęta odpowiedź przedstawia
git log --graph --all --decorate
polecenie, które jest dostępne jakoglgga
alias w oh-my-zsh.Osobiście wolę
glods
alias, który tłumaczy:źródło