"原点大师"与"原点/大师"的区别是什么?

Hom*_*man 30 git

运行git命令时空格和斜杠之间有什么区别?

我有时会看到

git push origin master (这是一个空间)

还有其他时候我看到了

git rebase origin/master (使用斜线)

这个约定有什么区别?是否斜杠表示法访问本地缓存副本,而空间版本实际上是远程访问远程仓库(github)?

Lil*_*ard 20

这不是"惯例".前者是在不同位置具有不同含义的两个独立参数,git push后者是标识远程跟踪分支的单个参数origin/master.

  • 我知道一个是2个独立的参数,另一个是1个参数; 我想我真的不明白指定远程跟踪分支与指定remote-name branch-name之间的区别是什么.对我来说,他们都引用了一个远程仓库和那个仓库中的一个分支,为什么它们不能互换? (7认同)
  • @erik:`master`是你当地的主分支.`origin/master`是你的本地"远程跟踪"分支,代表`origin`远程的`master`状态,并在你运行`git fetch`或`git pull`时更新. (6认同)
  • @sketchfemme:因为他们*不*都指定远程仓库和该仓库中的分支.使用`git push`你指定远程仓库,并且你指定了一个refspec(可能不仅仅是一个裸分支名称 - 阅读联机帮助页).使用`origin/master`,你指定一个"远程"分支,它实际上是一个跟踪远程的本地分支,并用`git fetch`或`git pull`更新. (5认同)
  • 具体来说,`git push origin master`更通用的是`git push <远程名称> <分支名称>`. (4认同)
  • @DopedDude`git pull`更新远程跟踪`origin/master`分支,然后将它合并到你的本地分支(可能是`master`).如果您没有本地更改,则合并是快进的.如果你只想在不修改本地分支的情况下更新`origin/master`,请使用`git fetch`而不是`git pull`.`git fetch origin`应该更新`origin`远程的所有远程跟踪分支. (3认同)