使用现有的MSYS2安装来支持Git-Bash,或采用其他方法以避免同时运行两个MINGW实例
常见情形:
我已经安装了Git Bash,同时也安装了MSYS2。现在,Git Bash依赖MinGW-w64,而MinGW-w64也是MSYS2的一个环境组成部分,这意味着我几乎把MinGW-w64放在了两份里;一次在我的Git-Bash安装中,一次在我的MSYS2环境中。或者至少这是我的理解。
现在,把所有东西都放两份感觉很浪费,而且也迫使我在MSYS的环境及其提供的工具和软件包之间,以及Git Bash之间做出选择;Git Bash拥有不错的Git终端集成(自动完成、当前分支显示等)。难道没有办法让Git Bash的终端使用我的MSYS2的 mingw环境,而不是它自带的那个?我是不是应该放弃Git Bash,在我的MSYS2终端中使用git?
解决方案
MSYS2的 Git软件包在其类似Cygwin的 POSIX仿真环境中运行,这意味着它可能比Git Bash慢,在某些场景下处理也会更差。我认识一个人使用Git Bash,因为他有时在某个进程正在使用文件时会执行 git pull,Git Bash能够优雅地处理这种情况,而MSYS2的 Git将中止并让状态变得一团糟。不过我仍然喜欢使用MSYS2的 Git。
在任意MSYS2环境中运行以下命令以确保它已安装:
pacman -S --needed git
在你的 .bashrc 中放入如下代码,以便在提示符中显示分支:
source /usr/share/git/git-prompt.sh
PS1='\[\033[0m\]\[\033[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\033[33m\]\w$(__git_ps1 " (%s)")'$'\[\033[0m\]\n$ '
最终效果:
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。
