在Windows系统中通过Cygwin运行Git

32

我最近开始使用Cygwin,已经在我的个人电脑上安装了Git。我知道可以运行可执行文件并将Git安装到Cygwin中,但由于已经安装了Git,我希望Cygwin直接使用我的Windows安装。我尝试了各种不同的方法来重定向路径,但都没有成功。有人能帮帮我吗?


从个人经验来看,我知道在Cygwin中实际上可以使用msysgit版本的Git。我不记得如何操作,但是我将尝试设置并稍后将其添加为答案。 - user456814
@Cupcake:我真的很想知道怎么做。我已经花了整个下午尝试各种设置来使它工作。Cygwin的git不支持通过网络共享来进行操作。Msysgit可以在共享文件夹上正常工作,但我没有成功让它与Cygwin一起使用。 - nerdfever.com
这似乎是在Super User上的Git:Command not found Windows的重复。 - jww
3个回答

55

我确认git和msysgit可以共存于同一台计算机上,正如在“cygwin、msysGit或两者都使用哪个GIT版本?”中提到的那样。

  1. Git for Windows (msysgit)将在自己的shell(dos with git-cmd.bat 或 bash with Git Bash.vbs)中运行。
    2016年更新:msysgit已过时,新的Git for Windows现在使用msys2

  2. Cygwin上的Git,在安装了它的软件包之后,将在自己的cygwin bash shell中运行。

git package selection on Cygwin

  1. 最后,自2016年第三季度和“Windows 10周年更新”以来,您可以使用 Git在bash中(一个实际的Ubuntu(!) bash)

http://www.omgubuntu.co.uk/wp-content/uploads/2016/08/bash-1.jpg

在这里,您可以执行sudo apt-get install git-core并开始在WSL容器的“本地”文件系统(请参见下文)或通过/mnt/c/.../mnt/d/...目录层次结构在托管Windows文件系统中使用git处理项目源代码。
专为Bash on WindowsWSL(Windows子系统)而设:
  • 它是一个轻量级的虚拟化容器(技术上来说,是一个"Drawbridge" pico-process),
  • 托管一个未经修改的“无头”Linux发行版(即Ubuntu减去内核),
  • 可以执行基于终端的命令(甚至可以执行X-server客户端应用程序,如果安装了适用于Windows的X-server),
  • 并提供对Windows文件系统的仿真访问(这意味着除了性能下降外,在DrvFs仿真文件系统中的文件编码方式可能与本机VolFs文件系统中的文件不同)。

唉,Cygwin的git在Windows网络共享方面存在问题。而Mysysgit则没有这个问题。 - nerdfever.com
@nerdfever 是吗?它肯定存在这个问题,但 msysGit 也是一样的。(我个人大多使用 msysGit,因为 cygwin git 相对较慢) - tjollans

4
这难道不就是将你的git安装路径添加到Windows路径中吗?
例如:Win+R rundll32.exe sysdm.cpl,EditEnvironmentVariables 编辑...PATH,将你的Mysysgit安装路径添加进去,比如:;C:\Program Files (x86)\Git\bin。重新运行Cygwin,完成。由于Cygwin会自动加载Windows环境,因此你本地安装的Git也会被加载。

0

使用cygpath作为参数调用您的(Windows)Git,以便转换“调用路径”。我不明白为什么这会成为一个问题。


无法与 git init 一起使用,因为该命令不接受来自命令行参数的路径。 - Tobias Hochgürtel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接