Obecnie jestem zajęty projektem z wieloma gałęziami i mam tag dla ostatnich zmian, które zostały zrobione na jednej z gałęzi. Ale nie jest dla mnie jasne, na której gałęzi znajduje się ten tag.
Jak dowiedzieć się, na której gałęzi znajduje się tag?
Obecnie jestem zajęty projektem z wieloma gałęziami i mam tag dla ostatnich zmian, które zostały zrobione na jednej z gałęzi. Ale nie jest dla mnie jasne, na której gałęzi znajduje się ten tag.
Jak dowiedzieć się, na której gałęzi znajduje się tag?
Odpowiedzi:
Jeszcze krócej:
git branch --contains tags/<tag>
(działa dla każdego odwołania do drzewa)
Jeśli możesz znaleźć zatwierdzenie, do którego odnosi się tag :
git rev-parse --verify tags/<tag>^{commit}
# or, shorter:
git rev-parse tags/<tag>~0
Następnie możesz znaleźć gałąź zawierającą to zatwierdzenie .
git branch --contains <commit>
Jak skomentował poniżej user3356885 , dla pobranych gałęzi (gałęzi w przestrzeni nazw pilotów)
git branch -a --contains tags/<tag>
git branch -a --contains <commit>
git branch -a --contains <tag>
. To samo zadziała w przypadku zatwierdzeń.
git branch --contains <tag>
. git wersja 2.23.0, zsh, open SUSE tumbleweed. Nie sądzę, aby to było specyficzne dla mojego systemu operacyjnego lub powłoki, myślę, że jest to domyślna rzecz, którą robią nowoczesne wersje git. Otwierają listę na pagerze
git branch --contains tag
nic nie robi dla mnie, ale znalazłem rozwiązanie tego problemu w git gui .
Zacznij to tak:
git gui
(Na moim Ubuntu musiałem go najpierw zainstalować sudo apt-get install git-gui
.)
Następnie wybrałem pozycję menu Repozytorium -> Wizualizuj całą historię gałęzi . W wyświetlonym oknie wybrałem następnie pozycję menu Plik -> Lista referencji .
Pojawiło się kolejne okno z listą wszystkich moich tagów (i innych odniesień). Są one klikalne i po kliknięciu jednego z nich po prostu musiałem sprawdzić listę oddziałów w lewej dolnej ramce. Lubię to:
Parent: somesha (message)
Parent: someothersha (another message)
Child: anothersha (yet another message)
Branches: branch1, master, remotes/origin/branch2, remotes/upstream/branch1, etc
Follows: v1.1.2
Precedes: v1.1.4
Tagiem zaznaczasz odniesienie. Więc kiedy jesteś w gałęzi deweloperów i oznacz ten stan. Twój tag znajduje się w rzeczywistym pliku referencyjnym. W tym przypadku możesz spojrzeć na gitk lub inne narzędzie, w którym pokazano drzewo. Tam możesz zobaczyć, w którym odnośniku znajduje się tag.
git: Czy istnieje coś takiego jak tagi dla poszczególnych gałęzi?
http://git-scm.com/book/en/Git-Basics-Tagging
Oto dobre wyjaśnienie.
git branch --contains <tag>
.