- Git实用教程(一) | 为什么需要版本控制?(以嵌入式项目开发为例)
- Git实用教程(二) | Git简介及安装详解
- Git实用教程(三) | Git本地库操作(仓库初始化、提交修改)
- Git实用教程(四) | Git本地库操作(查看提交历史、版本前进回退)
- Git实用教程(五) | Git本地库操作(分支管理)
1. 代码托管中心
Git不仅可以在本地使用本地库,还可以将本地库与远程库产生关联,代码托管中心就是用来维护远程库的。
- 在局域网环境下,可以在公有的服务器上使用Gitlab搭建一个代码托管中心;
- 在外网环境下,可以使用Github或者码云这样的第三方代码托管中心。
2. Github
GitHub(https://github.com)就是典型的第三方代码托管中心,于2008年4月10日正式上线,目前在2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。
因为Github只支持Git 作为唯一的版本库格式进行托管,故名GitHub,另外,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
首次访问Github官网时会默认打开注册页面,直接使用邮箱注册即可。
3. Git和Github联合操作
3.1.创建本地库
创建一个空的本地库用来测试远程库:
3.2.创建远程库
在Github首页的右上角,如图,选择New repository
来创建一个新的远程库:
填写仓库信息:
仓库创建成功:
3.3. 给远程库地址取别名
远程库地址可以在Github上看到,因为Git支持多种协议,包含HTTPS和SSH,所以选择这两种的任何一种都是可以的:
Git根据这个远程库地址进行推送和拉取操作,但是每个命令都得带上这个地址显得太麻烦了,所以可以先在Git中给这个地址取个别名,使用命令:
代码语言:javascript复制git remote add <别名> <远程库地址>
比如在这里将远程库地址取个别名叫origin
,后续我们就不需要输入冗长的地址了,直接使用origin代替即可:
3.4.拉取操作(远程库 -> 本地库)
特别注意:
如果远程库有更新(比如在新建的时候创建了README文件),不能进行推送,必须先进行拉取操作。
首先将远程库中的内容拉取下来,同步到本地库,使用命令:
代码语言:javascript复制git pull <远程库地址名> <远程分支名称>
在文件夹可以看到远程库的内容被拉取到本地文件夹:
3.5.推送操作(本地库->远程库)
使用如下命令进行推送操作,将本地库的内容推送到远程库中:
代码语言:javascript复制git push <远程库地址/别名> <要推送信息的分支(本地)>
这里首先在本地库创建一个HelloWorld程序的C文件,然后提交一次更新:
然后向远程库进行推送:
代码语言:javascript复制git push origin master
首次推送时Github会验证身份,自动弹出Github登录框,登录即可:
登录后Git即可完成推送:
完成推送后在Github上即可看到最新的更新:
4.克隆(拉取)远程库
除了这种方式外,还有一种简便的方式——克隆远程库,使用命令:
代码语言:javascript复制git clone <远程库url>
先在Github上新建一个远程仓库,然后克隆到本地:
这样克隆的效果有(重点):
- 将远程仓库的所有内容克隆到本地(避免了拉取操作);
- 默认创建了origin作为远程仓库地址的别名(避免了取别名的操作);
- 初始化了本地库(避免了初始化操作);
克隆成功后可以直接进行拉取和推送操作,如下:
在Github查看是否推送成功:
好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
思维导图使用『幕布』绘制