Source Control Software
This is an area usually located on a remote server that manages code. It records changes to each file, can record release dates and set version numbers for projects.
The process is usually started by creating a new project area within the Source Control server and uploading new or existing (not in source control) code to it.
The code is then available for anyone in the development team to view and work on.
When you work on code on your local machine, you can check the code in to the source control server project and this will create a record of your changes (along with notes that you enter). Other people in the team can then see the changes you have made and update to the latest version of code.
Creating A Branch
This is where you are working on a certain module and you make changes unique to that particular area and then when you are finished you push the changes back to the server so that other users can see that particular module when it is ready as apposed to it half finished potentially breaking the code. Other branches might be used for managing hot fixes, releases and track of the code that is currently on the production server.
Examples of Source control servers include
The server is where the code changes are managed and stored.
Source Control GUIs
The client software acts as an interface between your machine and the server.