Exercise - Tags
Tips
- Create tags
git tag 'my-first-tag'- optionally a revision can be specified (default:
HEAD)
- Simple tags are just names for commits
- For releases, one uses annotated tags, which carry a description and metadata. The following options are helpful:
-aensures the creation of an annotated tag.-m 'And here comes text'for the description
- Tags are not automatically transferred on push.
- You can either specify individual tags, e.g.
git push origin v1.0 v1.1 git push --tagstransfers tags
- You can either specify individual tags, e.g.
- Tags are usually transferred on pull. With
--tagsyou can have all tags transferred. - Recommendation: Tags that you share with others (push), should not be changed anymore. Git warns before transferring changed tags. If necessary, you can force the transfer with
-f.
Setup
Step 0 - START
$ cd mein-klon
Step 1 - Create tags
Start in directory git-uebungen/aufgaben/zusammenarbeit-tags/mein-klon.
Create a simple tag simple1 on HEAD and an annotated tag annotated1 on HEAD~1. First look at the log and then at both tags individually (git show an).
Step 2 - Fetch tags
Start in directory git-uebungen/aufgaben/zusammenarbeit-tags/mein-klon.
Simply by pull.
Step 3 - Push tags
Start in directory git-uebungen/aufgaben/zusammenarbeit-tags/mein-klon.
A simple git push does not transfer tags. First, specifically transfer the tag simple1 with a push and then all other tags with another push
Step 4 - Manipulate
Start in directory git-uebungen/aufgaben/zusammenarbeit-tags/mein-klon.
Overwrite the tag v0.1 so that it points to HEAD. Push the tag. Go to the directory ../anderer-klon and fetch the tag with pull. Look at the log to verify that the tag has been updated.
mein-klon $ cd ..