I am running Windows 7, I just installed Cygwin for the first time today so I have been playing around with it. I am now wanting to start using Git as well.
From what I have read msysGit will allow you to use a GUI, and it also adds a right click on a folder/file Add to Git GUI
and Add to GIT Bash
context menu options.
At the same time though I would like to use the command line to do some Git stuff but I think as a Git beginner it would be nice to have the context menus and a GUI.
So I am kind of stuck. Couple of questions...
If I install Git with msysGit can I still run the command line stuff for Git with Cygwin?
One book said that you can install both Cygwin and msysGit it versions, if that is the case, do they both work on the same files/repo or is it like having 2 separate Git repos on every file? If that is the case then it seems like overkill.
I also saw that msysGit has a portable version. If I were to use this portable version, does that mean that the Git repo is stored on the USB portable device or just the program? It would be cool if it is the Git program and the code repo stored portable.
1) If you are not using cygwin for anything else, and you want to use Git, go with msysgit. It brings in good Git integration to Windows and almost all GUI tools - Git Extensions, TortoiseGit and others that I know of, are dependent on msysgit. Also with msysgit, you can use git from cmd, powershell etc. which is not possible if you only have cygwin git.
msysgit comes with it's own bash and you can use that for command line and you won't need cygwin ( again, from point of you not using cygwin for other things). Almost all git features are available in msysgit and except for some Windows specific changes ( and performance), you will find that everything works in a comparable way to git on *nix. cygwin will not be as performant as msysgit and much less native git on *nix.
2) And it is possible to have them both and you don't need separate repos. They can co-exist peacefully.
3) Git repos are lightweight as they only involve filesystem. There is no concept of portable git repos, as they are effectively portable. Msysgit portable is meant to allow you to operate on Git repos on a system without installing msysgit.