MSysGit 安装一个上下文菜单项,在当前选定的文件夹中打开 Git Bash 提示;但是,这会打开一个 cmd.exe 窗口,我希望它改为在Console2 中打开。
我需要进行哪些修改才能使其正常工作?
请注意,我已经看到了这个相关问题,但是答案已经过时了——MSysGit 现在正在使用 vba 脚本来调用 bash 提示。此外,它没有明确说明如何使用 Console2 进行工作。
更新:您可能有兴趣对ConEmu做同样的事情,ConEmu是Console 的一个相当出色的继承者。请参阅此处:ConEmu 中的 Git Bash
WindowsCMD实用程序有许多内部命令,例如mklink. 如何从msysshell使用它们?
从CMD的文档中,该/c开关可用于执行命令并退出;但这似乎不起作用。
cmd /c mklink,mklink则不会执行命令并且CMD不会退出外壳。在按 Enter 之前:

后:

进程监视器截图:

cmd /c mklink &显然有效 -mklink命令已执行,但CMD外壳并未终止。每次Enter按下,CMD都会成为活动的外壳。安装 Git 时,它提供了将所有 msys *nix 工具添加到 PATH 中的选项,但是它警告:
警告:这将覆盖诸如“查找”和“排序”之类的 Windows 工具。仅当您了解其含义时才使用此选项。
我的问题是:
有没有办法在 Powershell 中运行 git?
我有一个带有 msysgit 的 Windows 7 盒子。我想要一个 shell 来运行我所有的 git 命令以及使用 Powershell 脚本。
我在我的 Ubuntu 机器上使用 git 和我现有的 ssh 密钥。
现在我必须在 Windows 7 上使用 Git,并且需要使用相同的密钥对。
我已经设置了 msysgit 并.ssh在Users\username\.ssh.
我已将我的密钥对从 Ubuntu 的.ssh文件夹复制到此文件夹。
但是当我尝试克隆 Git 存储库时,它会停止并要求输入密码。
根据一些教程,在 msysgit 安装期间我应该有一些关于 的选项ssh,但我没有看到。
你有什么建议来解决这个问题吗?
我在 Windows 上使用 msysgit 来使用 git,但我经常想通过 Windows 风格的*.lnk快捷方式进行导航。我通常通过 Windows 的资源管理器管理我的文件结构,因此使用不同类型的快捷方式(例如在 git 中创建硬链接或软链接)是不可行的。我将如何浏览这种类型的快捷方式?
例如:
PCUser@PCName ~
$ cd Desktop
PCUser@PCName ~/Desktop
$ ls
Scripts.lnk
PCUser@PCName ~/Desktop
$ cd Scripts.lnk
sh.exe": cd: Scripts.lnk: Not a directory
Run Code Online (Sandbox Code Playgroud)
是否可以更改此行为,以便它不会出错,而只会转到目录的位置?或者,是否有获取*.lnk文件路径的命令?
编辑:我听说cygwin存在相反的情况,允许您创建一个与资源管理器一起使用的符号链接。
我在 Windows 7 上使用 MsysGit。我有一个烦人的问题。整个 bash_profile 文件似乎被执行了两次。例如,我在 .bash_profile 中有以下 echo 行
echo "Boinkk..."
Run Code Online (Sandbox Code Playgroud)

如果我有
echo "Calvin..."
echo "Hobbes..."
Run Code Online (Sandbox Code Playgroud)
然后我得到
所以我知道 .bash_profile 文件被执行两次,而不是每个语句都被执行两次。“Git Bash”可执行文件的目标是
C:\Windows\System32\cmd.exe /c ""C:\Program Files\Software\Git\bin\sh.exe" --login -i"
Run Code Online (Sandbox Code Playgroud)
有人知道我必须做什么才能让 bash shell 只执行一次 bash_profile 语句吗?
我喜欢我的 GitBash 窗口,因为它有助于保持我不在 Windows 7 上的错觉。我可以输入ls /c/并查看C:/. 这对我来说效果很好。现在我想在不在 C: 下的外部驱动器上创建一个 git 备份。我插入驱动器,Windows 为其分配了“G:”但是现在,我如何告诉 Mingw32 知道它?
我想从这个优秀的答案中使用,但改为 $ git remote add backup /tmp/backup /tmpG:
$ git remote add backup /G/myrepo ...
$ git push backup
fatal: 'C:/prog/Git/G/myrepo' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我不确定哪些信息有用。
$ git --version
git version 1.7.0.2.msysgit.0
$ ls G:
ls: G:: No such file or directory
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序目录作为驱动器 Z 映射到我的本地计算机的开发 Web 服务器:(例如 \\web_server\wwwroot)。共享文件夹需要域凭据才能访问(我的域帐户是该文件夹的共同所有者)。
我能够很好地读写文件,但 msysGit 性能很慢。
网络服务器:
patrick@web_server /c/inetpub/wwwroot (master) $ time git status > /dev/null
real 0m1.887s
user 0m0.015s
sys 0m0.015s
Run Code Online (Sandbox Code Playgroud)
本地机器(访问映射的网络驱动器 Z)
patrick@local_machine /z (master) $ time git status > /dev/null
real 0m25.500s
user 0m0.000s
sys 0m0.015s
Run Code Online (Sandbox Code Playgroud)
那么我该如何解决导致 25 秒挂起的原因呢?
当我从资源管理器上下文菜单中打开 Git Bash 时,资源管理器停止响应,无论该文件夹是否为 Git 文件夹。当我关闭 Git Bash 时,Explorer 立即开始再次响应。
我的系统运行的是 Windows 7 Professional x64,Git 版本是 1.9.0.msysgit。
你知道是什么原因造成的吗?这是描述问题的gif:
msysgit ×10
git ×6
windows ×4
msys ×3
windows-7 ×2
bash ×1
command-line ×1
console ×1
console2 ×1
cygwin ×1
networking ×1
public-key ×1
ssh ×1