Source control systems, also known as version control systems, are a type of software tool used in program development to manage changes to the source code and other software artefacts.
Source control system track and manage change to files and directories, recording who made the changes, when they were made, and what was changed. They allow developers to
- Collaborate on code changes
- Work on multiple versions of the code simultaneously – using branches
- Merge changes from multiple developers into a single code base.
- Roll back changes
- Recover lost code
- Maintain a complete history of all changes to the code base.
Some popular source control systems include Git, Subversion, Mercurial, and Perforce. The source code system is regarded as a best practice in software development, as it helps teams collaborate more effectively, maintain code quality, and reduce the risk of errors and bugs in the code base.
In this blog, we share some basics of Git. Git is the most commonly used source control system. If you are an aspiring developer, it is important that you have a good understanding of GIT.
Some helpful links
Go through the following links to have a good understanding of git.
https://www.sitepoint.com/git-for-beginners/
http://git-scm.com/video/what-is-git
http://git-scm.com/video/quick-wins
http://git-scm.com/book/en/Getting-Started
http://training.github.com/resources/videos/
http://rogerdudler.github.io/git-guide/
Get Familiar with following commands
Create an account on github / gitlab .
Create a repository and practice these commands and use and understand them.
- commit
- push
- pull
- rebase
- stash
- add
- checkout
- Create branch
- merge branch
- Delete branch
- forking
- Raising a Pull request
Exercise
- Create an account on gitlab.com
- Create a repository on gitlab.com name it cegees-training-[your-name]
- https://gitlab.ceegees.in/ceegees-training – you can request to join this group.
- Configure your ssh keys – https://docs.gitlab.com/ee/ssh/
- Invite the following group (ceegees-training) as a developer to the repository
- Create a readme file
- Create a branch develop
- Switch to develop
- Make changes on readme on develop
- commit the changes and push the same
- switch to master
- Make changes on the readme file
- Commit changes to master
- Merge develop to master –
- Resolve conflicts
Lead Engineer at Ceegees Software Solutions Pvt Ltd