做什么" git checkout \ *"和" git commit - "完成?

时间:2015-11-01 23:39:29

标签: git

我看到online tutorial上引用了git checkout \*git commit -。这些成就了什么? (从手册页中看起来并不是很明显。)

2 个答案:

答案 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中读取其输入,当用于来自其他命令的管道数据时;但它不是你的例子中的意图。