git-logo

want to Learn git ? Start Here!

What is Git ?

git is a distributed version control system, developed by Linux Torvalds during the development/management of Linux Kernel. In other words, it’s a software, a tool, that simply keeps track of the different version of the files, If you mess up, you can easily go back to some previous (correct) version of the file. (to any commits)

The purpose of the version control system is to maintain the consistency between the changes made by different(or may just one) people on a large complex project, it allows them to contribute simultaneously in an easy way. Being distributed means – everyone has the full copy of everything – and everyone can work independently (even without any internet connection, but in case if they want to share the changes with other remote developer, the connection will be required as usual).

git-logo

Why use a version control system such as git ?

There are many advantages such as –

  • it keeps tracks of different versions of the files in your project
  • it’s very fast
  • it also works as a backup for all your files/changes
  • it’s easy to manage the project if there are more than one people working on it
  • a number of people are already using it, so if you want to collaborate on popular open source project or in an organization then probably you might need it
  • it’s distributed and you got full copy of project files, so you can work offline
  • there are cool project hosting apps such as github that makes git even more fun

How to Learn Git ?

First of all, learn some basics from any sources, and start using it in your project. You can’t just learn git by watching videos or reading manuals – you must use it. It’s a very practical thing, even if you learn all the basics of git – you will eventually forget it unless you apply it somewhere.

Recommended tutorials to begin with git :

Note : All the above tutorials are free but if you don’t mind paying for great tutorials then you must checkout “git real” course on Code School.

update 1: added codeschool link!
update 2: added link to some new tutorials!
update 3: added a link to visual explanation for git