我看到online tutorial上引用了git checkout \*
和git commit -
。这些成就了什么? (从手册页中看起来并不是很明显。)
答案 0 :(得分:1)
如果您要发出命令
git checkout *
然后你的shell会在执行*
之前展开git checkout
glob。例如,如果您有 a.txt , b.txt 和 c.txt 文件,则shell会将其扩展为
git checkout a.txt b.txt c.txt
在运行之前。相反,当您使用\*
时,*
会被转义并直接传递给git checkout
。
答案 1 :(得分:1)
从联系手册:
git checkout [-p|--patch] [<tree-ish>] [--] <paths>
当&lt; paths&gt;或 - 补丁,git checkout 不切换 分支机构。它更新了命名路径 索引文件中的工作树或命名的&lt; tree-ish&gt; (通常是提交)。在这种情况下, -b和--track选项没有意义,它们中的任何一个都会导致错误。该 参数可用于指定更新索引的特定树(即提交,标记或树) 更新工作树之前的给定路径。
在这里,他正在逃离全球\*
,以防止猛烈扩张;所以git可以使用它来扩展索引中的内容。
编辑(问题更新后):
和约git commit -, 'canonical version'
:
对于commit -m '...'
来说,这只是一个错字(注意,在 m 键旁边).....
实际上git commit --file -
将从stdin中读取其输入,当用于来自其他命令的管道数据时;但它不是你的例子中的意图。