Git linux (wsl) 和 windows 之间的路径规范行为差异
Git pathspecs difference in behavior between linux (wsl) and windows
我不明白为什么相同的命令在 linux 上有效而在 windows 上无效。 pathspecs 语法是否不同或 git windows 版本有问题?
在 windows(git 版本 2.31.1.windows.1)
git status -- 'src/test.js'
On branch master
nothing to commit, working tree clean
在 linux(wsl:git 版本 2.25.1)
git status -- 'src/test.js'
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: src/test.js
经典 git status
在 linux 和 windows 之间给出相同的结果。
正如您在 Git 邮件列表中看到的,这实际上是一个 cmd.exe
问题:运行:
git status -- 'src/test.js'
传递文字字符串:
'src/test.js'
到Git,而不是传递:
src/test.js
到Git。结果 Git 正在查找文件名 ,包括引号 。 (最简单的解决方案是省略引号,对于此路径规范,这两个系统都不需要引号:任何 shell 或 CLI 都没有任何特殊字符。)
我不明白为什么相同的命令在 linux 上有效而在 windows 上无效。 pathspecs 语法是否不同或 git windows 版本有问题?
在 windows(git 版本 2.31.1.windows.1)
git status -- 'src/test.js'
On branch master
nothing to commit, working tree clean
在 linux(wsl:git 版本 2.25.1)
git status -- 'src/test.js'
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: src/test.js
经典 git status
在 linux 和 windows 之间给出相同的结果。
正如您在 Git 邮件列表中看到的,这实际上是一个 cmd.exe
问题:运行:
git status -- 'src/test.js'
传递文字字符串:
'src/test.js'
到Git,而不是传递:
src/test.js
到Git。结果 Git 正在查找文件名 ,包括引号 。 (最简单的解决方案是省略引号,对于此路径规范,这两个系统都不需要引号:任何 shell 或 CLI 都没有任何特殊字符。)