Git

一、 跟踪分支与远程跟踪分支的概念

分支: 指向某个Commit 对象的引用

跟踪分支(tracking branch):可以理解为本地Github 的客户端

远程跟踪分支(remote tracking branch),可以理解为本地GitHub的服务端

现在我们在本地通过 add commit 提交commit C3.  这个时候master 会指向C3. 但original/master 依然指向了C2.并没有改变

 

例如,上面的例子,http://XX/project.git 是git hub 地址,有两个commit: C1 和 C2 , Git hub 的master 分支指向了第二个commit C2.  现在我们使用git clone 命令把这个仓库clone 到本地,这个时候在本地的仓库会产生两个分支

master : 跟踪分支,这个是用户可写的

origin/master : 远程跟踪分云,用户只读。

 

在上图中,我们用git push 命令把C3 push 到Git hub

remote repo 的master 会指向C3

local repo 中的origin/mater 也会指向C3

1. Push Test

Head--> master :  指本地的head 指向本地的master

 

2. Pull Test

此时,我在Git Hub上直接提交一个commit #fa6876f.  commit description is hello-3.  模仿Git hub 上有其他同事提交。

查看本地master 和 origin/master 全部指向了第二次的提交,并没有自动更新第三次提交。

使用pull 命令,从fa6876f (第三次from github 的提交),更新了master 和 origin/master

3. Fetch 和 merge

从Github 上做第四修改

执行Git fetch 会从远程更新到远程跟踪 orgin/master branch 上

执行Git merge 会从orgin/master 更新到 master 上

你可能感兴趣的:(每日小点滴)