If you are new to git, it may take some time to understand the git philosophy. I struggled a bit in the beginning, but got over it. I would like to make it easy for you or at least take you in the right direction.
Git was created by Linus Torvalds during the development of linux kernal when he was not convinced about SCM tools available at that point in time. He envisioned a version control system which is fast and can be used for large projects.
If you have been using a version control system which is a centralized one like SVN, git is quite different. Git is a distributed version control system. In SVN, you have a server or a centralized repository which manages the source code and versions, to which all developers commit their files. In Git all the developers have a copy of the repository with them in their machine.This is a full fledged repository with all the history and full version tracking capabilities. So as you might have started guessing, you can work in the local copy, make commits and even work offline. And since each have their own copy, it is also easy to restore repo in case your server goes down.
As discussed above, distribution is the core of git. Being able to work offline is yet another aspect which differentiates it from other tools out there. Just think of the advantage of not having to go over the internet for each and every operation! This makes diff’s, commits etc seamless and fast. The only time you need to have the git server available is when you decide to push your code or make your code available to others.
Another good thing about git is how easy branching can be done. Think of a situation when one of you or a team decides to work on a feature which is to be done in isolation and at a later point of time make it available to the master. Creating a branch and merging it to the master is quite a task in other tools like SVN for example. You will really love and admire how easy it is to branch out and merge later. This way your master is always clean and ready to go production any time and when features are tested and verified, it can be easily integrated to master branch. Yes, there will be instances of conflicts,but it should be relatively easy to manage them.
There are numerous resources out there to get going. The best part is that, setting up a git repo is very easy and can be done after installing git in your machine. You can try out different things then and there itself. If you need to have a remote server and see how that works, you can think of using GitHub.
Leaving below a list of resources to refer and learn git.
Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion…git-scm.com
We are going to skip instructing you on how to add your files for commit in this explanation. Let's assume you already…onlywei.github.io
For advances reading:
In this post I present the development model that I've introduced for some of my projects (both at work and private…nvie.com
When I first started using Git, I read plenty of tutorials, as well as the user manual. Though I picked up the basic…www.sbf5.com