Tags are intended for such use on git. You can read about the tags here .
According to your question, you can have a list of all tags, therefore, knowing what was released. An example of this in a gm scm book:
$ git tag -l 'v1.4.2.*' v1.4.2.1 v1.4.2.2 v1.4.2.3 v1.4.2.4
Checking a specific tag will put you in the same state as when you released the code.
You can even GPG sign tags that can be useful in a common repository if you are worried that someone is mixing things up (either by design or by accident).
Note:
By default, the git push command does not pass tags to the remote server. You will have to explicitly click tags on the shared server after you create them. This process is similar to exchanging a remote branch - you can run git push origin [tagname].
as this can lead to a terrible headache if you suspect that this has happened.
As always in git, all you really need is a sha commit, so writing this file may be sufficient, depending on your needs.
source share