Sooner or later you are going to realize that on some occasions you need to have access and a reference to the code you tested or officially published. This is a big topic and I don't want to go into deep details about it. If you are interested to know more try to search on the web for Software Release Management topic.
As a simple example please take a look at my previous blog Challenge 1 script. I tested my code and documented the expected results. Some days after as I worked on the other scripts I made changes to my original code as well. For anyone who would like to take a look what I was describing previous it would be very difficult. Looking the latest code from github is not what you really want.
How to create a branch on github to release a particular version of your code.
$ git branch * master $ git checkout 47677b8c1cf79e6517b2caf7b32aca59b4d38795 HEAD is now at 47677b8... prints ipv4 ip $ git branch * (no branch) master $ git branch challange1 $ git branch * (no branch) challange1 master $ git checkout challange1 Switched to branch 'challange1' $ git branch * challange1 master $ git push origin challange1 Warning: Permanently added 'github.com,184.108.40.206' (RSA) to the list of known hosts. Counting objects: 33, done. Delta compression using up to 8 threads. Compressing objects: 100% (23/23), done. Writing objects: 100% (33/33), 6.10 KiB, done. Total 33 (delta 13), reused 15 (delta 4) To email@example.com:rtomaszewski/api-challenge.git * [new branch] challange1 - challange1
After the branch is created you can always download the code for it: https://github.com/rtomaszewski/api-challenge/tree/challange1