fun*_*oid 2 windows git bash msysgit git-config
我做了很少的搜索,并发现这个别名,以保持功能分支与开发分支同步,当我手动从Git bash运行时.
sync='!f() { echo Syncing this branch with develop && git checkout develop &&
git pull && git checkout – && git rebase develop; }; f'
Run Code Online (Sandbox Code Playgroud)
我尝试将此别名放在.gitconfig中但是我收到以下错误
error: pathspec '"\342\200\223"' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
我找到的是git checkout - ,代表,回到你所在的最后一个分支创建了这个错误.
我也尝试将相同的命令放在.bashrc中,如下所示
alias sync='echo Syncing this branch with develop && git checkout develop && git pull
&& git checkout – && git rebase develop'
Run Code Online (Sandbox Code Playgroud)
这会产生同样的错误.
但是为了确保当我手动运行Git Bash中的所有命令时,它们都能正常工作,所以没有其他问题.似乎这只是因为msysgit或windows上的bash存在差异,因为我已经在Mac和Linux上阅读了这些别名对git的工作.
一些开明的头脑可以告诉我如何更改它以使其适用于Windows?
谢谢
\342\200\223是表示UTF-8"en dash"字符的八进制字符序列:八进制342 200 223与十六进制相同e2 80 93.你可能从某个地方复制/粘贴了那个命令行,而那个角色正在疯狂git.使用ASCII -.
也就是说,这个角色:–这一个:-是不一样的.你需要使用后者.
您可以通过您喜欢的十六进制转储程序运行该字符来检查.这是我的例子:
$ echo -n – | hexdump
0000000 e2 80 93
0000003
$ echo -n - | hexdump
0000000 2d
0000001
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |