With this option, you would also push all annotated tags that can be reached from that commit to the other side. The new option " -follow-tags" tells " git push" to push annotated tags that are missing from the other side and that can be reached by the history that is otherwise pushed out.įor example, if you are using the " simple", " current", or " upstream" push, you would ordinarily push the history leading to the commit at your current HEAD and nothing else. This has been introduced in commit c2aba15 by Junio C Hamano ( gitster): That won't push all the local tags though, only the annotated ones referenced by commits which are pushed with the git push. You can now try, when pushing new commits: git push -follow-tags The new " -follow-tags" option tells " git push" to push relevant annotated tags when pushing branches out. Note that since git 1.8.3 (April 22d, 2013), you no longer have to do 2 commands to push branches, and then to push tags: This means force push all heads (all branches) and all tags (if you don't want force pushing of heads, remove '+' prefix from refspec). That's why you need to push tag explicitly, to mark tag as public.Īlternatively you can configure the remote you push to to always push all tags, e.g. You can use your own local tags to mark your progress, so it does not make sense to blindly push all tags in your repository to the repository you are pushing to publish your changes, whose tags are by definition public. When pushing, you are pushing from your working repository, which most of the time is not public, and tags in that repository is not designed to be public. it downloads tags when downloading revisions they point to - in other words downloads all relevant published tags. That's why git fetch automatically "follows" tags, i.e. It will facilitate communication between developers if it is easy for everybody to fetch these same tags. In other words, tags in repositories you fetch from are designed to be public and shared. not only you but other people will also see the same tags.the set of tags that exist there are all the publisher wanted people to see, and.When fetching, you are interacting with a remote repository somebody has published, which means: Hamano wrote (linked in comments by Miras) Pushing tags should be usually conscious choice. This is very much intended behavior, to make pushing tags explicit. To push all tags (or git push -tags to push to default remote, usually origin). To push a single tag, or $ git push -tags In default git remote configuration you have to push tags explicitly (while they are fetched automatically together with commits they point to).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |