Cygwin/Git与Git Source Control Provider结合时初始目录
由于MsysGit目前对中文的支持有许多问题,所以选用Cygwin下的Git作为Windows下的Git工具。
Visual Studio下的Git Source Control Provider对MsysGit支持很好,对Cygwin/Git支持并不理想。
使用Cygwin/Git配置如下后,Git Pengding Changes使用不正常,只适合全命令操作
在右键菜单中进入Git Bash时,当前目录为Cygwin的Home目录。
设置初始目录方法:
1.参考Cygwin目录下的cygwin.bat新建一个Cygwin_CWD.bat,内容如下:
@echo off
set _C__W___D=%cd%
d:
chdir d:\cygwin\bin
bash --login -i
2.修改Cygwin中的.bash_profile
export _C__W___D=${_C__W___D//\\//}
if [[ $_C__W___D != "" ]]; then
cd "$_C__W___D"
fi
3.设置Git Source Control Provider
搞定!
附:
使用Cygwin下的mintty工具
方法和上面一样,只需要将步骤1中的Cygwin_CWD.bat改为:
@echo off
set _C__W___D=%cd%
d:
chdir d:\cygwin\bin
start "" "mintty" "-"
1.参照http://www.cnblogs.com/sohighthesky/archive/2011/06/24/2089042.html中的在当前目录打开Cygwin
2.查看Git Source Control Provider源码,运行GitBash如下
......
var pinfo = new ProcessStartInfo(gitExePath)
{
Arguments = args,
CreateNoWindow = true,
RedirectStandardError = true,
RedirectStandardOutput = true,
UseShellExecute = false,
WorkingDirectory = workingDirectory,
};
using (var process = Process.Start(pinfo))
{
......