Chcę się dowiedzieć, kto stworzył oddział.
Jestem w stanie to zrobić z:
git branch -a | xargs -L 1 bash -c 'echo "$1 `git log --pretty=format:"%H %an" $1^..$1`"' _
Jednak zwraca to ostatniego zatwierdzającego na gałąź, niekoniecznie osobę, która utworzyła gałąź.
git
git-branch
Ofir Farchy
źródło
źródło
Odpowiedzi:
Gałąź to nic innego jak wskaźnik zatwierdzenia. W związku z tym nie śledzi metadanych, takich jak „kto mnie stworzył”. Sam zobacz. Spróbuj
cat .git/refs/heads/<branch>
w swoim repozytorium.To napisane, jeśli naprawdę chcesz śledzić te informacje w swoim repozytorium, sprawdź opisy gałęzi. Umożliwiają one dołączanie dowolnych metadanych do gałęzi, przynajmniej lokalnie.
Również poniższa odpowiedź DarVara to bardzo sprytny sposób na uzyskanie tych informacji.
źródło
Wyświetl listę zdalnych gałęzi Git według autora posortowane według daty autora:
źródło
git for-each-ref --format='%(committerdate)%09%(authorname)%09%(refname)' | sort -k5n -k2M -k3n -k4n | grep remotes | awk -F "\t" '{ printf "%-32s %-27s %s\n", $1, $2, $3 }'
(pomysł ze stackoverflow.com/a/3631819 - może być konieczne dostosowanie liczb w wydruku awk w zależności od maksymalnej długości datetime / nazwisk autorów)Poprawiłem poprzednie odpowiedzi, używając
--sort
flagi i dodałem trochę koloru / formatowania:źródło
źródło
Dodając do odpowiedzi DarVar :
PS: Użyliśmy AWK, aby ładnie wydrukować autora i zdalną gałąź.
źródło
Możesz dowiedzieć się, kto utworzył oddział w lokalnym repozytorium, korzystając z adresu
Przykładowe dane wyjściowe:
Ale jest to prawdopodobnie bezużyteczne, ponieważ zazwyczaj w lokalnym repozytorium tworzysz tylko gałęzie.
Informacje są przechowywane pod adresem ./.git/logs/refs/heads/ branch . Przykładowa treść:
Ostatnie zatwierdzenie w tym przykładzie pochodziło od użytkownika „b”, podczas gdy gałąź „b2” została utworzona przez użytkownika „a”. Jeśli zmienisz swoją nazwę użytkownika, możesz sprawdzić, czy git reflog pobiera informacje z dziennika i nie używa lokalnego użytkownika.
Nie wiem o żadnej możliwości przesłania informacji z lokalnego dziennika do centralnego repozytorium.
źródło
Możemy dowiedzieć się na podstawie nazwiska autora
źródło
Zarozumiały:
master
master
jeszcze scalony zźródło
Wiem, że to nie jest do końca zakres pytania, ale jeśli znajdziesz potrzebę filtrowania tylko zatwierdzeń określonego autora, zawsze możesz przejść do grep :)
miłego kodowania! :)
źródło
dla tych, którzy szukają DESC ... to wydaje się działać
--sort=-
ty za formatowanie, nowość w tym ... moje oczy tracą trochę przekrwione oczy
dalej: https://stackoverflow.com/a/5188364/10643471
źródło
O ile wiem, możesz zobaczyć, czy jesteś twórcą tylko gałęzi. Wskazuje na to pierwszy wiersz w .git / ref / heads / <branch>. Jeśli kończy się na „Utworzono z HEAD”, jesteś twórcą.
źródło