Jestem na gałęzi X i dodałem jeszcze kilka zatwierdzeń. Chcę zobaczyć wszystkie różnice między MASTER a oddziałem, w którym jestem, pod względem zatwierdzania. Mógłbym po prostu zrobić
git checkout master
git log
a następnie a
git checkout branch-X
git log
i wizualnie je różnią, ale mam nadzieję na łatwiejszą, mniej podatną na błędy metodę.
Odpowiedzi:
Możesz uzyskać naprawdę ładny, wizualny efekt tego, jak różnią się Twoje gałęzie
źródło
git log --oneline --graph --all --decorate --abbrev-commit
da podobne wyniki w krótszym / bardziej czytelnym poleceniugit log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset'
git log --oneline --graph --all --decorate
wystarczy,--abbrev-commit
nie jest wymagany,--oneline
jest skrótem--pretty=oneline --abbrev-commit
Możesz to łatwo zrobić za pomocą
To pokaże, że zatwierdza to gałąź-X, ale master nie.
źródło
branch-X
, możesz użyćgit log master..
git log master...branch-X
(trzy kropki zamiast dwóch). Zobaczman gitrevisions
więcej informacji.Myślę, że to kwestia wyboru i kontekstu. Wolę używać
Wyświetli zatwierdzenia w fazie rozwoju, które nie znajdują się w gałęzi master.
Jeśli chcesz zobaczyć, które pliki są faktycznie modyfikowane, użyj
Jeśli nie podasz argumentów, wyświetli się pełna różnica. Jeśli chcesz zobaczyć różnicę wizualną, zainstaluj
meld
na systemie Linux lubWinMerge
Windows. Upewnij się, że są to domyślne difftools. Następnie użyj czegoś takiegoW przypadku, gdy chcesz porównać go z bieżącym oddziałem. Bardziej wygodne jest użycie HEAD zamiast nazwy oddziału, np. Use:
Pokaże wszystkie zobowiązania, które mają zostać scalone
źródło
--no-merges
git log origin/master..HEAD --oneline --no-merges
Jeśli korzystasz z Linuksa,
gitg
możesz to zrobić bardzo szybko i graficznie.Jeśli nalegasz na linię poleceń, możesz użyć:
Aby
git log
domyślnie było ładniej, zazwyczaj ustawiam te globalne preferencje:źródło
Sugerowałbym następujące, aby zobaczyć różnicę „w zatwierdzeniach”. Aby uzyskać różnicę symetryczną, powtórz polecenie z odwróconymi argumentami:
źródło
jeśli chcesz użyć gitk:
ma ładne GUI starej szkoły
źródło
Nie jest to idealna odpowiedź, ale działa lepiej dla osób korzystających z Github:
Przejdź do swojego repozytorium:
Insights -> Network
źródło
Jeśli chcesz porównać na podstawie komunikatów zatwierdzenia, możesz wykonać następujące czynności:
źródło
--oneline
icut
git log --format='%s'
Przyczynia się to, ponieważ pozwala wizualnie różnicować dzienniki aib, jeśli masz wizualne narzędzie do porównywania. Zastąp polecenie diff na końcu poleceniem, aby uruchomić wizualne narzędzie do porównywania.
źródło
Użyłem niektórych odpowiedzi i znalazłem jedną, która pasuje do mojej sprawy (upewnij się, że wszystkie zadania znajdują się w gałęzi wydania).
Inne metody również działają, ale stwierdziłem, że mogą dodawać niepotrzebne wiersze, np. Zatwierdzenia scalania, które nie dodają żadnej wartości.
lub możesz porównać swój prąd z mistrzem
git fetch
jest tam, aby upewnić się, że używasz zaktualizowanych informacji.W ten sposób każde zatwierdzenie będzie w linii i możesz skopiować / wkleić to do edytora tekstowego i rozpocząć porównywanie zadań z zatwierdzeniami, które zostaną scalone.
źródło