GIT

Git is a free and open source distributed version control system designed to handle projects with speed and efficiency.

It is written by the creator of Linux, Linus Torvalds, after he got frustrated with proprietary software.

Git is similar to other version control systems such as subversion or CVS, but it’s distributed. What this means is that if you clone a git project, you have the entire project history. You can commit, branch and tag all on you local machine without interacting with a server at all. If you were working with subversion or another centralized VCS all of your interactions occur with the server.

  • It basically is a tool to manage your source code revisions.
  • Code can be stored in a remote place, so physical damage to local storage is not an issue of concern.
  • Ability to developers to work from remote places and gives ability to collaborate with each other.
  • Many developers contributed to Git to make it more useful and reliable.
Purpose of Git

Evolution of popular version control software includes VSS, CVS, TFS and SVN. Git is like brilliant evolutionary product. Git is faster, smaller, full distributed, better history, better branching/merging support (useful when you need Continuous Integration).

GitHub

GitHub and similar services bring all of the benefits of a decentralized VCS to a centralized service. It also stores a copy of your project’s repository just like any other developer.

Then, you basically designate that as the project’s central repository and all the developers push and pull their changes to and from that repository.From there they can send “pull requests” to the main project with their changes and then the project maintainers can review them before deciding whether to include them in their project or not.

  • It is a web-based Git repository hosting service.
  • GitHub offers all of the distributed revision control and source code management (S.C.M.) functionality of Git as well as adding its own features.
Advantages of GitHub
  1. You can use GitHub as a remote storage for your project. 
    • This ensures, you always have access to your program, even if you wipe it off your local computer.
    • Not like you cannot use a normal cloud service such as Google Drive for this purpose, but its more professional to use Github.
  2. Reverting facility offered by GitHub.
    • Suppose, now you start adding a feature to your program. You work hard for days to add it, but you just cannot do it. Lost, you decide go back to the working copy of the program. How long will you keep ctrl+z pressed? Especially if you’ve added hundreds of lines of code to a project already in hundreds of lines of code?
    • With GitHub, it’s just a matter of a click, and you get any damn committed copy of your program back within seconds.
  3. Employers do look at GitHub profiles.
    • GitHub is a way of letting potential employers knows what kind of projects you have worked on. If you provide your GitHub username in your CV, it does put in a little shine,
    • Since it shows you know how to use GitHub, and provides much more details about the projects worked on. It shows your team efforts too.
  4. It opens your project up to millions of open source developers.
    • Open source software is a boon, and you’d be contributing to that! If you are not comfortable with it, you can still set your GitHub repo to private, using a student privilege which you need to research on, or it’s paid.