下图是git常用的6个命令,这张图有助于理解每个命令到底产生了哪些影响。
其中的几个专用名词:
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
下图是利用github项目协作的简单示意图:
一、增加新的远程主机
在clone或者push等操作之前,需要增加一个新的远程仓库,并指定一个名字,以便引用。
$ git remote add
例如:git remote add origin https:github.com/......(该地址是项目主程repo地址)
查看是否添加成功,执行如下命令:
# 显示所有远程仓库
$ git remote -v
如果有错误,可以删除:
# 删除远程主机
$ git remote rm
二、clone远程仓库
在github上建立repository后,需要clone远程repo:
$ git clone
该命令会在本地主机生成一个目录,与远程主机的版本库同名。
但是git clone只能clone远程库的master分支,无法clone所有分支,而开发过程中,最新的代码通常不在master分支,解决办法如下:
切换到本地的该仓库的master分支,然后执行命令:
$ git checkout origin/branchname(branchname是GitHub上需要下载的分支名称)
(该命令的作用是:checkout远程的branchname分支,在本地新建名为branchname的分支,并切换到本地的该分支。克隆远程库的时候,所使用的远程主机自动被Git命名为origin。)
例如:远程库中有master和develop两个分支,git clone https://github.com/......,cd进本地新建仓库,git checkout master进入master分支,git checkout origin/develop新建本地develop分支并切换到该分支。
三、pull远程仓库的更新
主程仓库更新后,项目小组协作成员,要pull远端的更新到本地。
# 远程分支与当前分支合并
$ git pull
例如:项目的更新一般在develop分支,先在本地checkout进入要合并的分支develop(如果没有先新建一个),git pull origin develop,将远程develop分支与本地(工作区)当前develop分支合并。
从develop分支切出新分支,在该分支中做自己的新增功能。
参考阮一峰的博客: