有一些使用 git 命令参数:
,一些使用/
. 例如,
# Using /
# `dev` is a branch name
$ git checkout -b dev upstream/dev
# Using :
# `master` is a branch name
$ git push origin HEAD:master
$ git push origin :dev
记住何时使用:
vs.的逻辑是/
什么?
有一些使用 git 命令参数:
,一些使用/
. 例如,
# Using /
# `dev` is a branch name
$ git checkout -b dev upstream/dev
# Using :
# `master` is a branch name
$ git push origin HEAD:master
$ git push origin :dev
记住何时使用:
vs.的逻辑是/
什么?
冒号:
是 refspec 的一部分,通常在处理远程操作时使用,即获取、拉取、推送等。
正如Nirk 在他的回答中指出的那样,正斜杠/
是引用的路径分隔符,通常用于命名您的引用。
例如,您的本地master
分支是 reference的简写refs/heads/master
,origin/master
而是 的简写refs/remotes/origin/master
。这些是您可以在.git/refs/
文件夹下找到的实际目录路径。
:
还可以将 ref 与某些命令(但不是其他命令)的路径分开。例如
$ git show HEAD:src/main/Main.scala
对比
$ git blame HEAD -- src/main/Main.scala
好玩好玩。
refspec:
中的 分隔引用的源和目标:
The format of the refspec is an optional +, followed by <src>:<dst>,
where <src> is the pattern for references on the remote side and <dst>
is where those references will be written locally. The + tells Git to
update the reference even if it isn’t a fast-forward.
http://git-scm.com/book/ch9-5.html
这是一个标准的路径分隔符(在这种情况下,来自远程/
的分支)dev
upstream