在Git中,origin / master vs origin master有什么区别?
我知道, 起源是远程仓库的一个术语, 主人是那里的分支。
我故意忽略这里的“背景”,我希望答案不应该依赖于背景。 所以在git命令行中, origin / master和origin master之间有什么区别? 是否有一个非模糊的方式来理解何时使用origin / master ,何时使用origin master ?
这里实际上有三件事情: origin master
是两个不同的东西, origin/master
是一回事。 总共三件事。
两个分支:
-
master
是一个地方分支 -
origin/master
是一个远程分支(这是远程名为“origin”的名为“master”的分支的本地副本 )
一个遥控器:
-
origin
是遥远的
例如:分两步
由于origin/master
是分支,所以可以合并它。 这里有两个步骤:
第一步,从远程origin
获取master
。 origin
master
分支将被提取,本地副本将被命名为origin/master
。
git fetch origin master
然后你把origin/master
合并成master
。
git merge origin/master
然后你可以把你的新的变化推回到origin
:
git push origin master
更多的例子
您可以按名称获取多个分支
git fetch origin master stable oldstable
你可以合并多个分支…
git merge origin/master hotfix-2275 hotfix-2276 hotfix-2290
origin/master
是表示远程origin
上master
分支状态的本地分支。
origin master
是远程origin
上的分支master
。
示例(在本地分支master
):
git fetch # get current state of remote repository git merge origin/master # merge state of remote master branch into local branch git push origin master # push local branch master to remote branch master
origin/master
是远程master
分支
通常在做一个git fetch origin
,把所有的变化从服务器,你会做一个git rebase origin/master
,来重定义你的变化,并将分支移动到最新的索引。 在这里, origin/master
指的是远程分支,因为你基本上是告诉GIT将origin/master
分支重定位到当前分支上。
例如,您在推送时会使用origin master
。 git push origin master
只是简单地告诉GIT推送到远程仓库的本地master
分支。
origin是远程git url的名字。 下面可以有更多的遥控器例子。
class加罗尔=> bangalore.example.com:project.git boston => boston.example.com:project.git
就起源/主(例如class加罗尔/主)而言,它是指向class加罗尔站点上的“主”提交的指针。 你在克隆中看到它。
远程class加罗尔可能已经提前,因为你已经完成了“取”或“拉”
考虑到您可以在拔掉networking电缆的情况下切换到origin/master
(虽然处于分离状态),但它必须是origin
分支的本地表示。