首页 > 代码库 > Windows下使用Mintty运行Git Bash

Windows下使用Mintty运行Git Bash

最近从Linux上下写C++换到Windows上写C#.感觉大为不同. 最大的变化是 --- 各种GUI工具啊...满天飞,各种找菜单.不习惯!! 怀念bsh的灵活啊~~~

为何要使用Git

Git是当下最流行的版本管理器了. 好处很多,不过最重要的其实就一点

  • 不用总是访问服务器,每个人都有整个仓库

ps:Git恐怕是老板最爱了,大家回家连不上公司服务器也可以在家加班做commit啊 ... :(

Window上的Git

Git是从Linux平台上发展来的. Linux平台的特点就是大家都狂敲命令行啊.于是Windows版本的Git也自带了基于MSYS移植过来的bash.这个bash在Windows开了一个简单模拟Linux命令环境的窗口.

本猪作为从Linux转到Windows环境的码农, 是很怀念bash的.天生贱命,最不喜欢使用Git的GUI工具那种总要手离开键盘的感觉.

干掉难看的CMD

但是CMD窗口实在简陋了,简直惨不忍睹.严重败坏心情.

用了裸奔的bsh后一直怀念Cygwin下的Mintty. 但是光为了一个Mintty就安装动辄上N个G的Cygwin似乎也太重口味了.幸好,有人把Mintty单独抠出来了. 真是好人啊,只需要拷贝一个exe文件就能用了!!

既然是为了MSYS和Cygwin通用的,那么也就应该能运行Git Bash喽.试了一下,果然可以.

步骤

  1. 先安装Git Windows版本(废话)
  2. 去[Google Code这里](Mintty 下载Mintty
  3. 解压mintty.exe到 {Git的安装目录}\bin 下,这个bin目录下有关键的bash.exe
  4. 桌面上放一个快捷方式, 目标指向mintty,再加上一些参数,以我的Win7 64为例子:

     "C:\Program Files (x86)\Git\bin\mintty.exe" /bin/sh --login -i
    
  5. 运行. 一切OK! 和cmd说88啦!

嗯, 等等 这个时候如果你去设置mintty窗口的属性,十有八九会弹出一个错误提示框,告诉你找不到/home/{username}, 就像这样

有了提示,解决也很简单.到git的安装目录下,新建一个子目录: home{username}就行了.比如以administrator登录,就新建目录 home\administrator. 在Mintty中直接输入以下命令也可以:

    mkdir -p /home/$USERNAME

然后去设置mintty,你会发现/home/$USERNAME目录下多了一个.minttyrc文件.这个就是保存的设置文件了. (和大多数的linux程序一样,都是文本,没有该死的注册表)

终于看到熟悉的绿字黑底了,泪奔...

把Mintty加入到右键菜单

保存如下代码到.reg文件然后注入注册表即可 (mintty.exe的目录按照实际自行修改)


   Windows Registry Editor Version 5.00
   [HKEYCLASSESROOT\folder\shell\minttyshell]
   @="Open Mintty Prompt Here"
   [HKEYCLASSESROOT\folder\shell\minttyshell\command]
   @="\"C:\Program Files (x86)\Git\bin\mintty.exe\" /bin/env CHEREINVOKING=1 /bin/bash -l -i"
   [HKEYCLASSESROOT\Directory\shell\minttyshell]
   @="Open Mintty Prompt Here"
   [HKEYCLASSESROOT\Directory\shell\minttyshell\command]
   @="\"C:\Program Files (x86)\Git\bin\mintty.exe\" /bin/env CHEREINVOKING=1 /bin/bash -l -i"
   [HKEYCLASSESROOT\Directory\Background\shell\minttyshell]
   @="Open Mintty Prompt Here"
   [HKEYCLASSESROOT\Directory\Background\shell\minttyshell\command]
   @="\"C:\Program Files (x86)\Git\bin\mintty.exe\" /bin/env CHERE_INVOKING=1 /bin/bash -l -i"

小小不足

Git Bash自带的vi在mintty中不能正常使用.不过这个问题可以通过自己安装gvim解决. 安装gvim,把gvim.exe所在路径加入Path就可以了.