Jesteśmy nowi w Git i chcę ustawić tag na początku naszego repozytorium. Nasz kod produkcyjny jest taki sam jak repozytorium początkowe, ale od tego czasu wprowadziliśmy zatwierdzenia. Tag na początku pozwoliłby nam „wycofać” produkcję do znanego, stabilnego stanu.
Jak więc dodać tag do dowolnego, starszego zatwierdzenia?
git
version-control
git-tag
hogsolo
źródło
źródło
Odpowiedzi:
Przykład:
Gdzie
9fceb02
jest początkowa część identyfikatora zatwierdzenia.Następnie możesz wcisnąć tag za pomocą
git push origin v1.2
.Możesz zrobić,
git log
aby wyświetlić wszystkie identyfikatory zatwierdzeń w bieżącej gałęzi.W książce Pro Git znajduje się również dobry rozdział na temat tagowania .
Ostrzeżenie: spowoduje to utworzenie tagów z bieżącą datą (i ta wartość będzie na przykład wyświetlana na stronie wydań GitHub). Jeśli chcesz, aby tag był opatrzony datą zatwierdzenia, zapoznaj się z inną odpowiedzią .
źródło
-a
i,-m "Message here"
jeśli nie chcesz dodawać wiadomości:git tag v1.2 9fceb02
-a
a-m
. Wygląda na-a
to, że strona podręcznika jest domyślna, gdy-m
jest używana.git push --tags origin master
wypchnie wszystkie tagi lokalnego oddziału na zdalne. Woliszgit push origin <tag_name>
po prostu wcisnąć utworzony tag. Patrz: stackoverflow.com/a/5195913/452708 , git-scm.com/book/en/v2/Git-Basics-TaggingTylko kod
Detale
Odpowiedź @dkinzer tworzy tagi, których data jest bieżącą datą (po uruchomieniu
git tag
polecenia), a nie datą zatwierdzenia. Pomoc Git dlatag
zawiera sekcję „O tagach backdating”, która mówi:Strona „How to Tag in Git” pokazuje nam, że możemy wyodrębnić czas zatwierdzenia HEAD poprzez:
Możemy wyodrębnić datę konkretnego zatwierdzenia poprzez:
Jednak zamiast powtarzać zatwierdzenie dwa razy, łatwiej jest zmienić HEAD na to zatwierdzenie i użyć go domyślnie w obu poleceniach:
źródło
Najprostszym sposobem na to jest:
przy
f4ba1fc
czym początek mieszania z popełnić chcesz tag iv1.0.0
będąc wersja chcesz tag.źródło
Użyj polecenia:
Gdzie v1.0 to nazwa znacznika, a ec32d32 to zatwierdzenie, które chcesz oznaczyć
Po zakończeniu możesz przesuwać tagi poprzez:
Odniesienie:
Git (kontrola wersji): Jak oznaczyć konkretny poprzedni punkt zatwierdzenia w GitHub?
źródło
OK , możesz po prostu zrobić:
Więc jeśli chcesz dodać tag: 1.0.2 do zatwierdzenia
e50f795
, po prostu wykonaj:Na końcu dodajesz wiadomość , używając
-m
czegoś takiego:W końcu musisz go zepchnąć
remote
, aby to zrobić, po prostu wykonaj:Jeśli masz wiele tagów, o których nie chcesz wspominać jeden po drugim, po prostu wykonaj:
aby połączyć wszystkie tagi razem ...
Ponadto utworzyłem kroki na poniższym obrazku, aby uzyskać dodatkowe wyjaśnienie kroków:
Możesz także dodać znacznik do Huba lub używając narzędzi takich jak SourceTree , aby uniknąć poprzednich kroków, w tym przypadku zalogowałem się do mojego Bitbucket i zrobiłem to stamtąd:
No tags
i kliknij+
ikonę:źródło
To stare pytanie, na które już udzielono odpowiedzi, ale jest też nowa opcja, którą można rozważyć.
Jeśli używasz SourceTree do zarządzania repozytoriami git, możesz kliknąć prawym przyciskiem myszy dowolny zatwierdzenie i dodać do niego znacznik. Kolejnym kliknięciem myszy możesz wysłać znacznik bezpośrednio do gałęzi w miejscu pochodzenia.
źródło
Opierając się na odpowiedziach innych, oto jedno-liniowe rozwiązanie, które ustawia datę znacznika na datę, w której rzeczywiście się stało, używa znacznika z adnotacjami i nie wymaga
git checkout
:gdzie
tag
jest ustawiony na żądany ciąg znacznika icommit
na skrót zatwierdzenia.źródło
Odpowiedź przez @Phrogz jest super, ale nie działa w systemie Windows. Oto jak otagować stare zatwierdzenie oryginalną datą zatwierdzenia za pomocą Powershell:
źródło