Git on Windows
From eqqon
m (GitSharp moved to Git and CSharp) |
|||
Line 1: | Line 1: | ||
- | '''Git | + | '''Git''' is a distributed ''source code management tool'' originally developed for the Linux Kernel. Due to the versatility and extreme performance it is continuously gaining popularity for an ever increasing number of projects. Git is available on any Unix platform but Microsoft Windows still seems to be a hostile environment for git. The first part of the article gives a good overview about the state of git on Windows. The second article deals with an emerging pure C# implementation of git (see [[#Git and CSharp]]). |
- | + | == Git on Windows == | |
+ | === Git on Cygwin === | ||
+ | By now, the most complete git support for Windows is provided by Cygwin's Git package. However, this requires to install Cygwin and use git through its command line interface from the cygwin bash. Git on Cygwin is rock solid and stable and is without doubt the best choice for serious software development when you are a command line freak. For the more visual types among us, the TCL/Tk GUI '''gitk''' provides a graphical user interface that is able to display the branching tree and other things. However, in my opinion, gitk must be a horrible user interface for the spoiled average windows user. I'd rather use the CLI than gitk. I will go into detail about better git-GUIs for windows later. | ||
- | == | + | === msysGit === |
- | + | Git is also available as a standalone package for Windows as the msysGit package. Install msysGit (and be sure Cygwin is not installed or you will have some troubles) and use Git either from the windows command prompt or from the integrated bash. msysGit is the original git source code that has been compiled on msys into native windows executables with the advantage that the git commands can be called by other applications easily. Thanks to its better Windows-integration most of the graphical user interfaces that are available for windows are based on msysGit. The most important features of git are implemented and seem to work quite well, so it can be considered to be used for serious software development on Windows. On the other side, there are still some minor things missing. The best thing about msysGit is that one of the maintainers (johannes schindelin aka dscho) is a really nice person. He helped me very much by tracking down and fixing a msys-cygwin interaction problem on my system that caused infinite loops when pushing/pulling via ssh. Thanks to his efforts, the problem is now gone eventually and msysGit has really become quite useful! | |
- | ;Public clone url: git://github.com/ | + | |
+ | === TortoiseGit === | ||
+ | The most natural way to interact with my files in git repositories is through the explorer integration of TortoiseGit. If you liked TortoiseCVS / TortoiseSVN then you will be liking TortoiseGit since it allows hands-on manipulation of your files and directories in the git repository. TortoiseGit is quite actively developed and has improved drastically over the last month. When I first testet it I was luckily and got a more or less stable release but I soon noticed that TortoiseGit is not yet quite stable. I expect it to be usable for serious development in a few month from now. I will update this article as soon as that happens. | ||
+ | |||
+ | TODO: There are some other git GUI projects for windows which need to be covered here. | ||
+ | |||
+ | == Git and CSharp == | ||
+ | My vision for a true windows version of git is an implementation in pure C#. Others are sharing this vision with me and have already started to work on it to make it come true. The mono project has initiated several successive Google summer of code projects but the outcome was not impressive so far. By searching recent activity on github I found the '''dotgit''' project that opposed to some others actually compiles (!!) and seems to be continuously worked on. They make use of the jgit project and ported some of the java sources and tests to C# to quickly build up the most important parts. Once the project reaches a critical mass it will break through so ... | ||
+ | |||
+ | Please join our forces and support dotgit. Every little bit helps, and if it is only to link to the project. | ||
+ | |||
+ | === dotgit on github === | ||
+ | ;Public clone url: git://github.com/pheew/dotgit.git |
Revision as of 19:35, 4 June 2009
Git is a distributed source code management tool originally developed for the Linux Kernel. Due to the versatility and extreme performance it is continuously gaining popularity for an ever increasing number of projects. Git is available on any Unix platform but Microsoft Windows still seems to be a hostile environment for git. The first part of the article gives a good overview about the state of git on Windows. The second article deals with an emerging pure C# implementation of git (see #Git and CSharp).
Contents |
Git on Windows
Git on Cygwin
By now, the most complete git support for Windows is provided by Cygwin's Git package. However, this requires to install Cygwin and use git through its command line interface from the cygwin bash. Git on Cygwin is rock solid and stable and is without doubt the best choice for serious software development when you are a command line freak. For the more visual types among us, the TCL/Tk GUI gitk provides a graphical user interface that is able to display the branching tree and other things. However, in my opinion, gitk must be a horrible user interface for the spoiled average windows user. I'd rather use the CLI than gitk. I will go into detail about better git-GUIs for windows later.
msysGit
Git is also available as a standalone package for Windows as the msysGit package. Install msysGit (and be sure Cygwin is not installed or you will have some troubles) and use Git either from the windows command prompt or from the integrated bash. msysGit is the original git source code that has been compiled on msys into native windows executables with the advantage that the git commands can be called by other applications easily. Thanks to its better Windows-integration most of the graphical user interfaces that are available for windows are based on msysGit. The most important features of git are implemented and seem to work quite well, so it can be considered to be used for serious software development on Windows. On the other side, there are still some minor things missing. The best thing about msysGit is that one of the maintainers (johannes schindelin aka dscho) is a really nice person. He helped me very much by tracking down and fixing a msys-cygwin interaction problem on my system that caused infinite loops when pushing/pulling via ssh. Thanks to his efforts, the problem is now gone eventually and msysGit has really become quite useful!
TortoiseGit
The most natural way to interact with my files in git repositories is through the explorer integration of TortoiseGit. If you liked TortoiseCVS / TortoiseSVN then you will be liking TortoiseGit since it allows hands-on manipulation of your files and directories in the git repository. TortoiseGit is quite actively developed and has improved drastically over the last month. When I first testet it I was luckily and got a more or less stable release but I soon noticed that TortoiseGit is not yet quite stable. I expect it to be usable for serious development in a few month from now. I will update this article as soon as that happens.
TODO: There are some other git GUI projects for windows which need to be covered here.
Git and CSharp
My vision for a true windows version of git is an implementation in pure C#. Others are sharing this vision with me and have already started to work on it to make it come true. The mono project has initiated several successive Google summer of code projects but the outcome was not impressive so far. By searching recent activity on github I found the dotgit project that opposed to some others actually compiles (!!) and seems to be continuously worked on. They make use of the jgit project and ported some of the java sources and tests to C# to quickly build up the most important parts. Once the project reaches a critical mass it will break through so ...
Please join our forces and support dotgit. Every little bit helps, and if it is only to link to the project.
dotgit on github
- Public clone url
- git://github.com/pheew/dotgit.git