In an open source community, version control system should be very fast and Git has been proved very fast and scalable. As software project scales from small to large projects with number of developers involved in. So, system need to be distributed and parallelized.
At this moment, Linux kernel need a new Distributed version control system to replace the old one. Then Linux decided to started a project “Git” in 2005 to create their own DVCS. Which was written in “Perl” and “C”, Git runs on Linux, Mac OS X and Windows many other wide range operating systems. The main design goals of Git are
Git was designed to use on Linux kernel which was very large piece of software. Since 2005 Git was growing, changing and increasing its popularity.
In a simple way, CVC is a central copy of the project somewhere on a server. When developers commit the changes to this central copy and other developers can see and pull down the change and the changed content of any file will be automatically updated by the version control tool. Now-a-days, the modern control system deal with “changesets”. When a group of changes done to many files the term is defined as “changesets“, which is treated as a cohesive whole.
In CVC, developers need not maintain many files manually in the drives, because developer can retrieve the version they need from central copy which is done by version control tool.
Once developer satisfied with the code and ready for others to consume can push those changes out for other people to access. Getting new changes from a repository is called Pulling. Moving the new changes to a repository is called Pushing. The common point in both the cases was moving the new changes to a repository.
|Create a new local repository||init command used for creating a new local repository||git init|
|To check Status||Used to know the current state of local repository||git status|
|Add files||Used to add files to the repository||git add filename|
|commit files||used to save the current working directory of the repository||git commit|
|Log||Log is used to see the changes that have been committed||git log|
|Push||Used to push the changes committed locally
up to the central repository
|Pull||Used to pull the changes down from another repository||git pull|
|merge||Merge is the command used for merge changes that have commit
from separate places or separate branches or two pieces of code
that need to be merge together