使用Cygwin或msysGit版本的Git,或两者兼而有之?

Jas*_*vis 23 git cygwin msysgit

我正在运行Windows 7,我今天第一次安装了Cygwin,所以我一直在玩它.我现在也想开始使用Git.

根据我的阅读,msysGit将允许您使用GUI,它还可以右键单击文件夹/文件Add to Git GUIAdd to GIT Bash上下文菜单选项.

同时虽然我想使用命令行来做一些Git的东西,但我认为作为Git初学者,拥有上下文菜单和GUI会很不错.

所以我有点卡住了.几个问题......

  1. 如果我使用msysGit安装Git,我仍然可以使用Cygwin运行Git的命令行内容吗?

  2. 一本书说你可以安装Cygwin和msysGit它的版本,如果是这样的话,它们是否都在相同的文件/ repo上工作,或者就像在每个文件上有2个单独的Git回购?如果是这种情况那么它似乎有点矫枉过正.

  3. 我还看到msysGit有一个便携版本.如果我要使用这个便携式版本,这是否意味着Git仓库存储在USB便携式设备上或仅存储在程序中?如果它是Git程序并且代码存储库是可移植的,那将会很酷.

man*_*lds 17

1)如果你没有使用cygwin,你想使用Git,请使用msysgit.它为Windows带来了良好的Git集成,几乎所有GUI工具--Git Extensions,TortoiseGit和我所知道的其他工具都依赖于msysgit.同样使用msysgit,你可以使用cmd,powershell等中的git,如果你只有cygwin git那是不可能的.

msysgit附带了它自己的bash,你可以使用它作为命令行,你不需要cygwin(再次,从你没有使用cygwin的其他东西).几乎所有的git功能都可以在msysgit中找到,除了一些Windows特定的更改(和性能)之外,你会发现一切都以与gix on*nix类似的方式工作.cygwin不会像msysgit一样高效,而且在*nix上的本机git也不会那么高.

2)并且可以同时使用它们并且您不需要单独的回购.他们可以和平共处.

3)Git repos是轻量级的,因为它们只涉及文件系统.没有便携式git repos的概念,因为它们实际上是便携式的.Msysgit portable允许您在不安装msysgit的情况下在系统上运行Git repos.

  • 声明"它们可以和平共存"的一个警告:我安装了cygwin,但没有安装git的cygwin版本,因为我已经安装了msysgit.事实证明,msysgit版本的git将使用msysgit版本的ssh,它与Cygwin不兼容.如果你打算使用Cygwin,你应该使用Cygwin版本的git.我不想承认浪费了多少小时. (11认同)

Kei*_*son 16

您可以使用其中之一或两者 - 但有一些事情需要注意.

在我最近的工作中,团队的大多数人都在使用msysGit; 我使用了Cygwin git,因为无论如何我都是一个沉重的Cygwin用户.

这两个处理执行权限不同.当您在MSYS环境中签出文件foo.cmdfoo.bat文件时,它会将其视为可执行文件,因为.cmd.bat后缀表示可执行格式.Cygwin没有; 它是一个类似Unix的环境,因此它不会假设文件基于其后缀是可执行的.所以这些*.cmd文件对其他人都很好,但不适合我.

解决方法是执行chmod +x并检入并推送更改,这使得文件可执行并且不会影响其他用户.

在做的时候push,我也遇到了输入密码的问题pull,或fetch; git中的代码关闭回显在MSYS下工作,但不在Cygwin下.我通过使用无密码ssh避免了这种情况.

除此之外(也许还有一两个我目前不记得的问题),事情进展顺利.


dah*_*byk 5

cygwin和msysGit的Git安装完全独立的可执行文件。前者仅在cygwin中工作;后者安装了自己的bash shell(和GUI工具),但也可以在cmd.exe或PowerShell中运行。我个人更喜欢msysGit。

两者都将针对相同的Git存储库工作。