git origin/master

转载 2016年08月30日 23:56:03

首先要明确一点,对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是独立(并行)的。Gitk显示的就是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的指向。

$git branch -a (to show all the branches git knows about)

* master

remotes/origin/HEAD -> origin/master

remotes/origin/master

$git branch -r (to show remote branches git knows about)

origin/HEAD -> origin/master

origin/master

可以发现,master就是local branch,origin/master是remote branch(master is a branch in the local repository. remotes/origin/master is a branch named master on the remote named origin)

$git diff origin/master master (show me the changes between the remote master branch and my master branch).

需要注意的是,remotes/origin/master和origin/master的指向是相同的

$git diff origin/master remotes/origin/master

git push origin master

origin指定了你要push到哪个remote

master其实是一个“refspec”,正常的“refspec”的形式为”+<src>:<dst>”,冒号前表示local branch的名字,冒号后表示remote repository下 branch的名字。注意,如果你省略了<dst>,git就认为你想push到remote repository下和local branch相同名字的branch。听起来有点拗口,再解释下,push是怎么个push法,就是把本地branch指向的commit push到remote repository下的branch,比如

$git push origin master:master (在local repository中找到名字为master的branch,使用它去更新remote repository下名字为master的branch,如果remote repository下不存在名字是master的branch,那么新建一个)

$git push origin master (省略了<dst>,等价于“git push origin master:master”)

$git push origin master:refs/for/mybranch (在local repository中找到名字为master的branch,用他去更新remote repository下面名字为mybranch的branch)

$git push origin HEAD:refs/for/mybranch (HEAD指向当前工作的branch,master不一定指向当前工作的branch,所以我觉得用HEAD还比master好些)

$git push origin :mybranch (再origin repository里面查找mybranch,删除它。用一个空的去更新它,就相当于删除了)

git rebase的原理之多人合作分支管理

在上篇的Git rebase -i 交互变基,体验艺术般的命令文章中,我有两点为忽略了,现在补充说明下 1、在git rebase -i 后 ,用git push -f origin local_br...
  • zwlove5280
  • zwlove5280
  • 2015年07月01日 12:48
  • 2867

Git精简教程,快速上手

由于以前工作一直使用SVN,这次做RN,客户端使用的git来管理源码,所以今天花了点时间来研究git。 目的:以最短的时间上手git,不说原理性的东西,让从未使用过git的人能快速上手。so,让我们开...
  • hsbirenjie
  • hsbirenjie
  • 2016年07月17日 12:40
  • 3623

Git提交 push、查看、删除、重命名远程分支和tag

这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: git提交 push到github时,每次都要输入用户名和密码的问题 查看远程分支 删除远程分支和tag 删除不存在对...
  • qq443068902
  • qq443068902
  • 2016年04月18日 01:25
  • 1436

git新建一个分支--set-upstream

  一。使用场景: 本地新建一个分支后,必须要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。关联目的是如果在本地分支下操作: git pull, git push ,...
  • caomiao2006
  • caomiao2006
  • 2014年10月19日 18:57
  • 9935

Git操作基本命令

分支开发原则: 如果本地分支(dev_jiangbo)有修改,则需要先切换到master分支,把本地分支的修改merge回master(git merge dev_jiangbo),然后在maste...
  • YanJiangbo
  • YanJiangbo
  • 2014年05月13日 20:50
  • 13631

Git使用总结!

情景1:如何多人协作? 假若你已经clone了别人的仓库并且需要修改,最好的办法是建立自己的分支然后在合并,具体步骤如下: 1.建立一个自己的分支 git branch mybranch 此时...
  • kkkkkxiaofei
  • kkkkkxiaofei
  • 2014年11月25日 20:40
  • 16268

Mac中Git的简单实用(6) --- 分支管理策略

今天我来介绍下Git,Git是一款免费、开源的分布式版本控制系统。 我们在上一个学习了Git分支冲突管理。 这一章,我们要学习Git的Fast-forward模式、保存恢复现场 、测试的featur...
  • qiyu93422
  • qiyu93422
  • 2015年06月19日 20:18
  • 1321

深入理解git分支分叉(branch diverged)的问题

问: I googled and read many posts, but none could make me understand the branch divergence problem ...
  • ikscher
  • ikscher
  • 2015年02月27日 17:47
  • 29304

Git操作和问题记录

Git操作常用命令
  • qq_29461259
  • qq_29461259
  • 2017年01月09日 17:39
  • 728

Git远程分支和refs文件详解

最近同时同步博客到github和gitcafe上,遇到一些问题,我们分如下几个方面来分析一下: 推送远程分支到同一个服务器 推送远程分支到不同服务器 总结一下...
  • forever_wind
  • forever_wind
  • 2014年07月07日 13:03
  • 26572
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git origin/master
举报原因:
原因补充:

(最多只允许输入30个字)