Feb 12
2010

Getting Started With Git and TortoiseGit on Windows

Written by Robert Greiner | posted in Tips and Tricks | View Comments

Version control is essential to the success of any software project. It provides the ability for multiple developers to work on the same codebase simultaneously and allows projects to be versioned for release. However, a great deal of programmers fail to leverage the great benefits of version control for their personal projects.

Luckily, Git and TortoiseGit are extremely easy to install and configure on Windows. Now, there’s no excuse not to version control your code!

Here are the topics we will cover today:

  • Install Git
  • Install Tortoise Git
  • Create a new Git repository
  • Add an initial codebase to the Git repository
  • Change a file and commit
  • Clone the repository

Install Git

The two main ways to install git on your Windows machine are The first way is to use msysgit and Cygwin. I prefer to use Cygwin because of the nifty Linux commands that come along with it. It doesn’t matter which option you choose, but msysgit and Cygwin installations conflict with each other, so it’s probably better to pick one and stick with it.

Simply select the git packages and proceed with the normal Cygwin installation. If you need help with this, visit the Cygwin site for more details.

Also, if you plan on using Github you should go ahead and install openssh through Cygwin as well so you have access to the ssh-keygen command.

Lastly, be sure you point your system path to wherever the Git installation resides on your machine.

Install Tortoise Git

Download, Install, and restart your machine.

Create a new Git repository

  • Create a folder — I’m using D:\repo — to be used for your Git repository.
  • Right-click the folder and select Git Create Repository Here

You should now be greeted with the following message

Add an initial codebase to the Git repository

  • Copy your source files to the git folder.
  • Right click on the folder and select Git Commit
  • In this case, I added two files. I’m going to check both of them
  • click OK.

Now we have a legitimate repository with actual files in it.

Change a file and commit

Now you can change, add, or delete files within the repository.
Once you are ready to commit back to the repository, right click and select Git Commit just like above.

Clone the repository

Cloning is one of the great features of Git, and while it isn’t necessarily important for solo projects, it is important enough to mention here.

  • Tortoise allows you to clone projects by right clicking on the desired clone folder and selecting Clone
  • In the dialog, select the parent repository.
  • Click OK
  • Now, the cloned repository will be synced up with the main repository. This is useful for multi-person teams.

Conclusion

Git and TortoiseGit make it extremely easy to get personal version control up and running on your machine. Now you can develop your projects with the piece of mind that version control provides with little hassle and setup.

View Comments

  1. attosecond says:

    Nice brief intro, one key thing you missed is importing from another SCM. For example, git-svn makes porting SVN changesets into git trivial. This is important to some people…

  2. Soulja says:

    isn’t git through cygwin really slow on windows? has something changed in the meantime that makes this not the case?

  3. attosecond,

    Good point, I definitely need to add that. I was planning on doing a follow up post that shows how to get started with Github, so maybe I’ll turn your idea into a third post.

    Thanks for your comment.

  4. I don’t have any performance problems with git through Cygwin. I’m running Windows 7 on this laptop: http://b2b.sony.com/Solutions/product/VGN-FW550F/B. Maybe there were performance problems in the past, but it appears that they have been fixed.

  5. Robert says:

    I don't have any performance problems with git through Cygwin. I'm running Windows 7 on this laptop: http://b2b.sony.com/Solutions/product/VGN-FW550F/B. Maybe there were performance problems in the past, but it appears that they have been fixed.

  6. Robert says:

    Good point, I definitely need to add that. I was planning on doing a follow up post that shows how to get started with Github, so maybe I'll turn your idea into a third post.

    Thanks for your comment.

  7. JTer says:

    I would like how to use this with Visual Studio.

  8. [...] wrote an article a while back showing you how to get started with Tortoise Git and and Cygwin on [...]

  9. Robert says:

    That sounds like a good idea for a follow up post. Stay tuned for updates.

blog comments powered by Disqus
  • Could not connect to Twitter
.NET Algorithmic Art ASP ASP .NET ASP .NET MVC audio Bill Gates C# code review Computational Art CouchDB CSS Database DateTime debug DevDays eclipse ethics FileSystem Git Improvement iPhone Java JQuery Knopflerfish Layouts mail Microsoft Oracle OSGi Processing Python Ruby SMTP SOA Software Piracy Source Control SQL StackOverflow tools TortoiseGit training Web Standards Windows XHTML