Github is a place where people collaborate to code. You can add people to projects. You can “fork” from other people’s work. You can collaborate with anyone around the world. Version controlling lets you differentiate between different versions. Do you remember giving your code file that you give names like final.cpp, finalfinal.cpp, final2.cpp, thisislast.cpp and goes on. This is the same thing, online.
You may ask; “what is this github thing actually?”. Answer is that, it is a hub. But this hub is for developing software. At the same time version control system.
A kind of branching system is there. So a software can have multiple branches going on in parallel. Like a tree different people may work on different versions at different branches. Also in the future those branches may be combined.
You may choose public or private coding. So if you’re a open source guy or you want to keep your codes for yourself there are both options are possible.
You may track which changes are done also.
We may not here list the things completely since this is a very detailed process. But we have already a great website showing how to deal with git. You can have hands on approach on learning GitHub. Check this website to practice in a safe environment.