ID = git_ask_05
Status: closed
Content
Question
- What is difference between ‘origin/master’ and ‘origin master’?
- When to use ‘origin/master’ and ‘origin master’?
Answer
Comparison table
项目 | 分支位置 | 包含概念 | 用途 |
---|---|---|---|
origin master | 远程 | 2 | 前面的 origin 代表远程名,后面的 master 代表远程分支名 |
origin/master | 本地 | 1 | 从远程拉取代码后在本地建立的一份拷贝 |
When to use ‘origin/master’ and ‘origin master’?
执行
git fetch origin master
时,它的意思是从名为 origin 的远程上拉取名为 master 的分支到本地分支 origin/master 中。既然是拉取代码,当然需要同时指定远程名与分支名,所以分开写[1]。
执行git merge origin/master
时,它的意思是合并名为 origin/master 的分支到当前所在分支。既然是分支的合并,当然就与远程名没有直接的关系,所以没有出现远程名。需要指定的是被合并的分支[1]。
Extension
还可以一次性拉取多个分支的代码:git fetch origin master stable oldstable;
也还可以一次性合并多个分支的代码:git merge origin/master hotfix-2275 hotfix-2276 hotfix-2290;
Use $ git branch -a
can view all branches:
$ git branch -a
* master
remotes/base/master
remotes/origin/HEAD -> origin/master
remotes/origin/master