Jestem świadomy tego, że git push --tags
jest oddzielną operacją dla zwykłego starego git push
. Przesuwanie tagów powinno być świadomym wyborem, ponieważ nie chcesz przypadkowo popchnąć jednego. W porządku. Ale czy istnieje sposób, aby popchnąć oba razem? (Oprócz git push && git push --tags
).Jednoczesne przyciśnięcie git & tagi
Odpowiedz
Aktualizacja maja 2015
Od git 2.4.1 można zrobić
git config --global push.followTags true
Jeśli ustawione na true włączyć opcję --follow tagów domyślnie. Możesz zmienić tę konfigurację w czasie push, podając -no-follow-tags.
Aktualizacja Kwiecień 2013
Od git 1.8.3 (April 22d, 2013), nie trzeba już robić 2 polecenia naciskać gałęzie, a następnie wcisnąć tagów:
Nowa opcja "
--follow-tags
" mówi "git push
"do przesuń odpowiednie znaczniki z adnotacjami podczas przesuwania gałęzi na.
Teraz można spróbować podczas pchania nowe rewizje:
git push --follow-tags
To nie będzie domagał wszystko lokalnych tagów choć tylko jedną odwołuje zatwierdzeń, które są wypychane z git push
.
Git 2.4.1+ (Q2 2015) wprowadzi opcję push.followTags
: patrz "How to make “git push
” include tags within a branch?".
odpowiedź oryginalny, wrzesień 2010
Opcja nuklearna byłaby git push --mirror
, który pchnie wszystkie pozycje literatury pod refs/
.
Można również nacisnąć tylko jeden znacznik z aktualnej gałęzi popełnić:
git push origin : v1.0.0
Można łączyć opcję --tags
z refspec jak:
git push origin --tags :
(od --tags
oznacza: Wszystkie pozycje literatury pod refs/tags
są popychane, oprócz refspecs jawnie wymienionych w linii poleceń)
Trzeba również wpis "Pushing branches and tags with a single "git push" invocation"
Poręczny wskazówka została właśnie wysłana do Git mailing list Zoltán Füzesi:
używam
.git/config
aby rozwiązać ten:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
Po dodaniu tych linii
git push origin
prześle wszystkie twoje gałęzie i znaczniki. Jeśli chcesz przesłać tylko niektóre z nich, możesz je wyliczyć.Jeszcze tego nie wypróbowałem, ale wygląda na to, że może się przydać, dopóki nie zostanie dodany inny sposób popychania gałęzi i tagów jednocześnie do git push.
Z drugiej strony, nie mam nic przeciwko wpisując:
$ git push && git push --tags
Beware, jak commented przez Aseem Kishore
push = +refs/heads/*
będzie siły pcha wszystkich gałęziach.
To trochę mnie teraz, więc FYI.
René Scheibe dodaje this interesting comment:
Parametr
--follow-tags
jest mylące, ponieważ tylko znaczniki pod.git/refs/tags
są uznawane.
Po uruchomieniugit gc
znaczniki są przenoszone z.git/refs/tags
na.git/packed-refs
. Następniegit push --follow-tags ...
nie działa już tak, jak należy.
Dzięki za szczegółową odpowiedź. Obawiam się, że 'git push --tags:' nie działa dla mnie, ale 'git push origin --tags:' ** did **. Nie jestem pewien, czy to jest konfiguracja na moim końcu, czy literówka na twojej. –
@Will: więcej literówka po mojej stronie. Naprawiłem to w mojej odpowiedzi. – VonC
Jeden komentarz na temat postu, do którego odnośnik trafnie wskazuje, że 'push = + refs/heads/*' line * force * -bodyhes * all * your branches. Trochę mnie teraz, więc FYI. –
Działa to dla mnie:
git push --tags origin master
- 1. Jak wyświetlić nieumeblowane tagi Git
- 2. Jquery przyciśnięcie wyjątkiem: {coś}
- 3. tagi Git wykazują choć Usunąłem je
- 4. Jak dodać tagi w Bitbucket? Używam Git
- 5. Jak zastąpić tagi lokalne przy pobieraniu git?
- 6. Tagi globalne Git --- ewidentnie złe, ale dlaczego?
- 7. jquery przyciśnięcie() zdarzenie uzyskać tekst
- 8. Jednoczesne połączenia
- 9. Jak skonfigurować git, aby automatycznie pobierał tagi przy każdym pobraniu?
- 10. Tagi Git znikają, gdy robisz push, a następnie klonujesz?
- 11. Jak zrobić, aby "git push" zawierał tagi w oddziale?
- 12. Jak usunąć wszystkie tagi pochodzenia git i lokalne?
- 13. Polecenie git pokazujące wszystkie (lekkie) tagi daty utworzenia
- 14. Jak wykryć przyciśnięcie a mouseover jednocześnie
- 15. Jednoczesne AVCaptureVideoDataOutput i AVCaptureMovieFileOutput
- 16. Jednoczesne zapisywanie plików PHP
- 17. Jednoczesne żądania CasperJS
- 18. Jednoczesne naprawy powodują zawieszenie
- 19. Jednoczesne połączenie do rozmowy
- 20. Jednoczesne żądania skryptu PHP
- 21. Zagnieżdżone jednoczesne przewijanie UIScrollViews
- 22. Jednoczesne nagrywanie i odtwarzanie dźwięku
- 23. Jak wykrywać dwa jednoczesne dotknięcia?
- 24. Jednoczesne uruchamianie wielu skryptów Pythona
- 25. SQLite jednoczesne czytanie i pisanie
- 26. Jednoczesne Mapa ze stałym rozmiarze
- 27. warunkowe tagi z haml
- 28. tagi wbudowane w angularjs
- 29. haml gniazdowania tagi
- 30. jquery wydarzenie przyciśnięcie dla Cmd + S Ctrl + S
Jaki jest Twój problem z 'git wypychania && git pchania --tags'? – fuz
Nic szczególnego, jest wolniejsze, ponieważ połączenie musi zostać nawiązane dwukrotnie. –
Zobacz moją zaktualizowaną odpowiedź poniżej: istnieje nowa opcja '--follow-tags' od git 1.8.3 – VonC