origin/master

首先要明确一点,对 Git 的操作是围绕 3 个大的步骤来展开的(其实几乎所有的 SCM 都是这样)

1:从 git 取数据(git clone)
2:改动代码
3:将改动传回 git(git push)


这 3 个步骤又涉及到两个 repository,
一个是 remote repository,在远程服务器上,
一个是 local repository,在自己工作区上。
其中 1, 3 两个步骤涉及到 remote server/remote repository/remote branch,
2 涉及到 local repository/local branch。

git clone 会根据你指定的 remote server/repository/branch,拷贝一个副本到你本地,
在 git push 之前,你对所有文件的改动都是在你自己本地的 local repository 来做的,
你的改动 local branch 和 remote branch 是独立(并行)的。
Git 显示的就是 local repository。

在 clone 完成之后,
Git 会自动为你将远程仓库命名为 origin(
origin 只相当于一个别名,
运行 git remote –v
或者查看
.git/config 可以看到 origin 的含义
),
并下载其中所有的数据,建立一个指向它的 master 分支的指针,我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支,
所以 origin/master 指向的是一个 remote branch(从那个 branch 我们 clone 数据到本地),但你无法在本地更改其数据。

同时,Git 会建立一个属于你自己的本地 master 分支,
它指向的是你刚刚从 remote server 传到你本地的副本。
随着你不断的改动文件,
git add , git commit,master 的指向会自动移动,
你也可以通过merge(fast forward)来移动 master 的指向。


master是本地存储库中的一个分支。
remotes/origin/master的意思是远程名字是origin 上的名为master的分支==》origin>master

从远程拉去最新的版本:
就是from 远程链接
up to date:最新的
master -> origin/master:本地请求远程名字是origin下的一个名字是master的分支

From http://apca005afd.acc.corpnet.asus/AP3/LogisticsB2B/_git/LogisticsB2B
= [up to date] master -> origin/master

一张动图彻底搞懂 Git 分支的 master、origin、origin/master 区别~
https://blog.csdn.net/reykou/article/details/104866348?utm_medium=distribute.pc_relevant.none-task-blog-title-6&spm=1001.2101.3001.4242

master : Git 的默认分支名字。它并不是一个特殊分支、跟其它分支完全没有区别。
之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

origin :Git 克隆的仓库服务器的默认名字。

origin/master:是当本地的 master 分支同步到服务时的名字。
如果分支名称为 ForDebug、当分支同步到服务器时、会看到服务器上的名字为 origin/ForDebug。











人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
原文地址:https://www.cnblogs.com/ZkbFighting/p/13920721.html