有没有办法做"git checkout"和*force*参数被解释为分支名称?

Sop*_*_ES 6 git git-checkout

您键入命令"git checkout foo".

如果有一个名为"foo"的分支但没有该名称的文件,它会切换到分支 - 如果有一个名称的文件而没有这样的分支,它会更新文件"foo".

但我想知道---有没有办法输入命令,以便Git无条件地将"foo"解释为分支的名称,无论如何?这包括(但局限于)的规范,如果没有分支被称为"富",该操作将即使该名称的文件存在失败.

那么 - 有没有办法做到这一点?

谢谢.

Yaw*_*war 14

是的,从参考文献中可以看出:

git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>…
Run Code Online (Sandbox Code Playgroud)

在您的情况下,归结为:

git checkout foo --
Run Code Online (Sandbox Code Playgroud)

在这里,foo对应<tree-ish>--表示此后的任何内容都是指文件名.因此,如果您使用上面的命令(之后没有文件名--),如果没有名为的tree-ish(branch),它将失败foo:

fatal: invalid reference: foo
Run Code Online (Sandbox Code Playgroud)