如何将Git路径从C:\cygdrive\c...修改为C:\或\cygdrive\c\?
解决Cygwin下Git交互式变基时Notepad++路径错误的问题
我太懂这种糟心的情况了——明明把Notepad设成了Git编辑器,结果执行git rebase -i时,它弹出找不到文件的错误,路径还变成了C:\cygdrive\c...这种奇怪格式。其实这就是Cygwin路径和Windows原生路径不兼容导致的,Notepad是Windows程序,认不出Cygwin的虚拟路径格式,咱们只要让Git调用编辑器时自动把路径转成Windows能识别的就行,步骤很简单:
方法一:用Git命令直接配置全局编辑器
打开你的Cygwin终端,执行下面的命令(注意替换成你Notepad++的实际安装路径):
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin \$(cygpath -w \$1)"
这里几个参数的作用:
-multiInst:让Notepad每次打开新实例,避免和已打开的Notepad窗口冲突-notabbar、-nosession、-noPlugin:这些是可选参数,用来关闭标签栏、不加载上次会话和插件,你可以根据自己的需求去掉$(cygpath -w $1):这是关键!cygpath是Cygwin自带的工具,-w参数会把Cygwin风格的路径(比如/cygdrive/c/Users/xxx/...)转换成Windows原生路径(C:\Users\xxx\...),这样Notepad++就能找到文件了
方法二:手动编辑Git配置文件
如果你习惯手动改配置文件,也可以打开Cygwin里的全局Git配置文件~/.gitconfig,找到[core]部分,添加或修改editor行:
[core] editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin $(cygpath -w "$1")
同样,记得把路径换成你自己的Notepad++安装路径,比如64位系统可能是C:/Program Files (x86)/Notepad++/notepad++.exe
验证是否生效
配置完成后,随便找个Git仓库执行git rebase -i HEAD~2(选最近2个提交来测试),这时候Notepad++应该能正常打开变基的指令文件,不会再弹出路径错误的提示了。
内容的提问来源于stack exchange,提问作者SRG
相关产品推荐
相关产品推荐

