views:

376

answers:

3

Hello What is the different between msysgit and cygwin + git? Now I'm use msysgit, but i don't like the Git Bash (you can't resize or copy/paste) and think about to change to cygwin, because then I could use mintty.

A: 

cygwin + git was the only way to make git work back in the day. Now that msysgit is around, I don't see any reason to use cygwin.

I agree git bash isn't that good.. so what I do is

a) Put git in path and use window command prompt when I need command line b) Have tortoise git installed for when I want to have a GUI to my git

bwawok
For a user who really likes command-line interfaces, I don't think windows command prompt is a very good solution...
Jefromi
That isn't an answer to my question what the different ist between cygwin an msysgit.
A: 

The bash implementation in msysgit is old. However, i use vim when editing and that works great. As for cutting and pasting, I often resort to SHIFT+ALT+[space], E, M or whatever the keys are to get to mark text I want. Not ideal, but does the job well enough as I don't cut and paste too much.

I've now started running Ubuntu on the same machine through VirtualBox. With seamless mode and shared folders, I can take advantage of an up to date bash and fast Git.

I do not use any gui tools for Git except gitk (for gitk --all) to visualize history if I need to.

I've tried cygwin and didn't like it. The virtual box solution is much better if msysgit is not enough for you.

adymitruk
The idea with VirtualBox is good, but a bit laborious for me. I would rather work with cygwin or msyswin.
+2  A: 

a/ You can resize and copy-paste in Git bash, like in any other Windows Shell.

b/ You are probably using "Git for windows", and not msysgit. From the wiki:

  • msysGit is the development environment to compile Git for Windows. It is complete, in the sense that you just need to install msysGit, and then you can build Git. Without installing any 3rd-party software.
  • Git for Windows is an installer which installs Git -- and only Git.

It is easy to see the difference:

  • the installers for Git have the prefix Git-,
  • the msysGit installers have the prefix msysGit-.

Another telltale is that the msysGit installers come in two flavors: fullinstall and netinstall.
Further, msysGit does not install to C:\Program Files by default.
But msysGit comes with gcc, the GNU C Compiler.

c/ From MSysGitHerald10:

Remember:

  • MinGW is really a very thin compile-time layer over the Microsoft Runtime; MinGW programs are therefore real Windows programs, with no concept of Unix-style paths or POSIX niceties such as a fork() call.
  • MSys, in contrast, is a slimmed-down version of Cygwin (an old version at that), whose only purpose is to provide enough of a POSIX layer to run a bash.

And that is not always welcomed:

When working on Windows, I dislike that msysGit, as the name suggests, depends on MSYS and on tools from the Unix world. I believe all programs in the Git distribution should become binaries compiled for a specific platform, and not rely on shell interpreters or third-party languages like Tcl/Tk.

Even though, it is far better than the first Git on Cygwin installations from 2007.

VonC
a) How can I activate resize and copy/paste in Git bash ?b) I don't know if it is the same, but I'm using msysgit.
@nusbit: a) like any Windows shell: see http://superuser.com/questions/92040/copy-console-windows-and-paste-in-notepad or (clearer) http://www.astahost.com/info.php/Command-Prompt-Tips_t10211.html#137177 b) msysgit is the name of the project which includes "Git for Windows" (which you must have installed "`Git-1.7.0.2-preview20100309.exe`") *and* msysGit itself (the installer for the *development environment* of Git for Windows: `msysGit-netinstall-1.7.1-preview20100612.exe`).
VonC
a) I see you don't have installed Git Bash. Because it isn't like any windows shell. You can't resize is like windows cmd or other windows.
@nusbit: my git bash shortcut points to `C:\WINDOWS\system32\cmd.exe /c ""C:\Program Files\Git\bin\sh.exe" --login -i"`. What your Git bash shortcut refers to? When I open this windows (which has a vertical Git word as a logo), I can right-click on the title bar (which has `MINGW32:~/.` on it) and see the usual contextual menu (Restore/Move/Size/Minimize/Maximize/Close/Edit/Default/Properties). Do you see the same contextual menu?
VonC
The same. Thanks for this. I had to activate the QuickEdit Mode in the config. Now I can copy/paste.
VonC