有些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
如果有的话,记住何时使用:
与/
的逻辑是什么?
答案 0 :(得分:6)
冒号:
是refspec的一部分,通常在处理遥控器时使用,即取,拉,推等。
作为Nirk points out in his answer,正斜杠/
是引用的路径分隔符,通常用于命名引用。
例如,您的本地master
分支是参考refs/heads/master
的简写,而origin/master
是refs/remotes/master
的简写。这些是您在.git/refs/
文件夹下找到的实际目录路径。
答案 1 :(得分:5)
:
也可以为某些命令(而不是其他命令)分隔ref和路径。 e.g。
$ git show HEAD:src/main/Main.scala
VS
$ git blame HEAD -- src/main/Main.scala
有趣的有趣。
答案 2 :(得分:3)
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
/
是标准路径分隔符(在本例中,来自远程{{1}}的分支dev
)