4

有一些使用 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.的逻辑是/什么?

4

3 回答 3

6

冒号:是 refspec 的一部分,通常在处理远程操作时使用,即获取、拉取、推送等。

正如Nirk 在他的回答中指出的那样,正斜杠/是引用的路径分隔符,通常用于命名您的引用。

例如,您的本地master分支是 reference的简写refs/heads/masterorigin/master而是 的简写refs/remotes/origin/master。这些是您可以在.git/refs/文件夹下找到的实际目录路径。

于 2013-08-06T16:40:02.277 回答
5

:还可以将 ref 与某些命令(但不是其他命令)的路径分开。例如

$ git show HEAD:src/main/Main.scala

对比

$ git blame HEAD -- src/main/Main.scala

好玩好玩。

于 2013-08-06T16:53:14.790 回答
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

这是一个标准的路径分隔符(在这种情况下,来自远程/的分支)devupstream

于 2013-08-06T16:37:51.097 回答