"git checkout " 和 "git checkout -- " 之间的区别
在Git中,有两种使用`git checkout`命令的方式:`git checkout
出现这个问题的原因是为了解决文件名以连字符开头的情况。当我们使用`git checkout
为了解决这个问题,我们可以使用`git checkout --
总结起来,`git checkout
这就是关于"git checkout
git checkout
因此,在这种情况下,始终使用 -- 是安全的,但是当你想要还原的文件的名称以 - 开头,或者与分支名称相同时,你需要使用 --。以下是一些用于分支/文件区分的示例:
git checkout README 通常会丢弃对文件 "README" 的未提交更改
git checkout master 通常会切换工作副本到分支 "master"
git checkout -- master 丢弃对文件 "master" 的未提交更改
以及选项/文件区分:
git checkout -p -- README 交互式丢弃对文件 "README" 的未提交更改
git checkout -- -p README 无条件丢弃对文件 "-p" 和 "README" 的所有未提交更改
如果你有一个以 - 开头的分支名称,我不确定你该怎么做。也许首先不要这样命名分支。
git checkout
关于“Unix约定”:确实,作为选项和参数之间的分隔符的 -- 在许多程序中都得到了实现。它适用于任何使用 POSIX getopt(3) 来处理命令行选项的程序/实用程序,shell 脚本使用 getopt(1),以及一些自己实现的程序,但不能保证在所有情况下都适用。
对于像我这样的人来说:不要被名为 master 的命名搞混了,他指的是名为 master 的文件,而不是分支。
你觉得回答的哪部分令你困惑?我希望能澄清一下。