我正在运行Windows 7,我今天第一次安装了Cygwin,所以我一直在玩它。我现在也想开始使用Git。
根据我的阅读,msysGit将允许您使用GUI,它还可以右键单击文件夹/文件Add to Git GUI
和Add to GIT Bash
上下文菜单选项。
同时虽然我想使用命令行来做一些Git的东西,但我认为作为Git初学者,拥有上下文菜单和GUI会很不错。
所以我有点卡住了。几个问题......
如果我使用msysGit安装Git,我仍然可以使用Cygwin运行Git的命令行内容吗?
一本书说你可以安装Cygwin和msysGit它的版本,如果是这样的话,它们是否都在相同的文件/ repo上工作,或者就像在每个文件上有2个单独的Git回购?如果是这种情况,那么它似乎有点矫枉过正。
我还看到msysGit有一个便携版本。如果我要使用这个便携式版本,这是否意味着Git仓库存储在USB便携式设备上或仅存储在程序中?如果它是Git程序并且代码存储库是可移植的,那将会很酷。
答案 0 :(得分:16)
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。
答案 1 :(得分:15)
你可以使用其中之一或两者 - 但有些事情需要注意。
在我最近的工作中,团队的大多数人都在使用msysGit;我使用了Cygwin git因为我是一个沉重的Cygwin用户。
这两个处理执行权限的方式不同。当您在MSYS环境中签出foo.cmd
或foo.bat
文件时,它会将其视为可执行文件,因为.cmd
或.bat
后缀表示可执行格式。 Cygwin没有;它是一个类似Unix的环境,因此它不会假设文件基于其后缀是可执行的。所以*.cmd
文件对其他人都很好,但不适合我。
解决方法是执行chmod +x
并检入并推送更改,这使我的文件可执行,并且不会影响其他用户。
在执行push
,pull
或fetch
时,我也遇到了输入密码的问题。 git中的代码关闭回显在MSYS下工作,但不在Cygwin下。我通过使用无密码ssh来避免这种情况。
除此之外(也许还有一两个我目前不记得的问题),事情进展得相当顺利。
答案 2 :(得分:4)
Git for cygwin和msysGit安装完全独立的可执行文件。前者仅适用于cygwin;后者安装自己的bash shell(和GUI工具),但也可以使用cmd.exe或PowerShell。我个人更喜欢msysGit。
两者都可以对抗相同的Git存储库。
答案 3 :(得分:2)
如果通过一些不幸的命运扭曲,你正在处理一个git存储库,其历史中的一些提交说,几个演出的大小,那么你将用MSysGit耗尽内存,因为截至目前,只有一个32位版本可用(有一个64位版本在Pre-apha,但截至目前,它仍然无法进行一些测试,因此不适合生产)。只有在这种情况下,64位版本的Git才成为必需品。
更新:有一种方法可以在不使用Cygwin路线的情况下仍然使用64位Git:
您现在拥有一台安装了64位git的Linux虚拟机。接下来,在虚拟机中:
让它完成,你将有一个64位的Git安装在Windows上控制你的存储库。
答案 4 :(得分:1)
您可能会将该工具与git repos混淆git
。 msysgit和cygwin git提供了工具,存储库可以独立存在git
个二进制文件。
1 - 是的。 msysgit是使用MSYS的git的实现,并且具有比Cygwin git更高的性能。 msysgit也有命令行git.exe
可执行文件。 msysgit不依赖于其他内容,您可以从常规cmd
运行它。
Cygwin的git将依赖于Cygwin系统,并且与msysgit相比速度较慢。
但是,您可以同时安装,但如果您不使用cygwin,则不必为git安装它。我非常支持msysgit。
2 - git是git,你可以使用msysgit或cygwin的git用于相同的存储库,但要注意版本不匹配(例如,如果你使用的是msysgit 1.7.8和cygwin git 1.6)。我不认为这是一个大问题,但我从来没有安装过多个git版本。
编辑:
3 - msysgit便携式意味着您可以在闪存驱动器之类的东西上携带msysgit。
额外:
您可能想尝试TortoiseGit。它是git的GUI,并为您提供了在Windows资源管理器中执行git的上下文菜单。在安装TortoiseGit之前,您需要安装msysgit。
答案 5 :(得分:1)
一定不要安装cygwin的git。这是slow to death。我即将尝试使用msysgit,希望能有更好的表现。