这个命令做什么“ git checkout-”。

时间:2019-10-19 12:21:43

标签: git git-checkout

我是使用git的初学者,我想知道git命令的含义

git checkout -- .

我知道git checkout用于在分支之间进行切换,但是我不知道上述选项意味着我试图查看toturials,但我没有像这样的选项

2 个答案:

答案 0 :(得分:1)

--.都不是特定于git的:

  

应该接受不是选项参数的第一个--参数作为指示选项结束的定界符。以下所有参数都应视为操作数,即使它们以'-'字符开头。

(来自https://unix.stackexchange.com/questions/11376/what-does-double-dash-mean-also-known-as-bare-double-dash/11378)。

.是当前目录。

  

git checkout用于在分支之间切换

如果您查看https://git-scm.com/docs/git-checkout,此命令的格式为

  

git checkout [<tree-ish>] [--] <pathspec>…​

如此

  

通过替换索引或<tree-ish>(通常是一次提交)中的内容来覆盖工作树中的路径。

“路径”是.(当前目录),“ <tree-ish>”是HEAD(Git指向当前提交),因为您没有指定其他路径。 / p>

答案 1 :(得分:0)

它签出当前目录和子目录。

tymtam@x:/mnt/c/tmp/x$ git status

        modified:   x.txt
        modified:   z/z1.txt
        modified:   z/z2/z2_1.txt

tymtam@x:/mnt/c/tmp/x$ cd z                // changing to subdirectory
tymtam@x:/mnt/c/tmp/x/z$ git checkout -- .
tymtam@x:/mnt/c/tmp/x/z$ git status

        modified:   ../x.txt

(为简洁起见,我删除了git chatter)