Git rocks! Git is a distributed version control system, ideal for collaborative software development.
This post is about learning what Git is, before you decide to commit -m ‘to Git.’
Why I use Git:
Before Git, I was using DropBox to share my code with managers in a different city. Zipping up my files and sharing a folder was tedious though, and I wanted a faster option to share the latest updates of my code. GitHub was the best solution for me, but learning Git was something I had put off due to the perceived complexity of Bash and Git Bash (in actuality, Git really isn’t so hard to get started with). GitHub has excellent Help documentation, there’s a free Git Community book, and Scott Chacon released Pro Git for free, (buy the book if you like it, and have the means to do so).
For the past two months I’ve been actively using GitHub, but I wish I had started sooner.
Who This Post is For:
I’m writing this post specifically with the spouses and partners of developers I know, in mind, so that they can learn what Git is. I’m also writing for my classmates, because GitHub rocks and I want to share the cool stuff I learn with them, especially if information about a technology can help them.
(Point is: learning is fun, feeling dumb isn’t. Don’t let that stop you though, “never be afraid to learn.”)
Background on Git:
Git is free, open source, source code management. It was initially designed and developed by Linus Torvalds for Linux kernel development, as a replacement for BitKeeper. For more information, check out Torvalds Talk at Google on Git.
What is Distributed Revision Control?
Bryan O’Sullivan describes revision control simply, in his book Mercurial: The Definitive Guide, as “Revision control is the process of managing multiple versions of a piece of information.”
A distributed Revision Control System (or a Version Control System) keeps track of the changes made and allows for collaboration on projects. A Distributed Version Control System (VCS), means that any repository is as good, or important, as any other. Centralized VCS have only one ‘blessed’ source, and that repository is what is checked out and then the changes are committed back into it. Git is a distributed VCS, so each developer can have a local copy of the repository and also have the entire development history of the project. With Git, you can commit changes along with a team of other developers, then the project owner can do a pull request and choose which changes to implement into the code. This way, the best bug fixes and updates are used.
What is GitHub?
GitHub is a web-based hosting service for projects that use the Git revision control system. GitHub offers free and commercial plans -and even a special plan for students! (GitHub approved my request for a free 2 year micro plan, as a place to store my projects/research for school at.)
Why should I use Git?
Use Git if you want to track your project’s changes made with revision control. If you want to share your code with other programmers and be able to ask for input. If you want to contribute to the open source community. These are all great reasons to use Git!
Is learning Git right for me?
What is Git for Windows, Git Bash/Git GUI, and Bash?
“Git for Windows is the software package that installs a minimal environment to run Git on Windows. It comes with a Bash (a Unix-type shell), with a Perl interpreter and with the Git executable and its dependencies.” – says msysgit, in their GitHub ReadMe.
With Git for Windows, you can install a Bash command prompt tool (called Git Bash) and a graphical user interface tool (called Git GUI). Learn more at http://code.google.com/p/msysgit/
-Bash is a scripting language, which you will use in GitBash (such as: $ echo ‘Hello World!’).
How do I use Git?
GitHub’s help documentation is so good that I think it’s best that you check those out for yourself .
Step 3) Start exploring the beginner tutorials!
Here are some resources to learn more about Git and GitHub:
- GitHub offers free online training classes on Git, so look for upcoming dates.
- Read Pro Git by Scott Chacon for free (Buy it if you really like it though!)
- The Git Community Book is built by people in the community and maintained by Scott Chacon.
- Git Cheat Sheets, from GitHub:Help