GitHub 入门 1
本文导读
- 在正式学习Git之前,需要了解GitHub与码云,本文重点阐述GitHub是什么?码云是什么?GitHub与码云的区别是什么?
GitHub是什么?
- gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本控制软件,故名gitHub。
- gitHub于2008年4月10日正式上线,提供的主要功能有:git代码仓库托管、支持订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
- 目前GitHub上托管版本数量非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。
- GitHub官网地址:https://github.com/
- GitHub作为一个在线平台,旨在促进在一个共同项目上工作的个人之间的代码托管、版本控制和协作。通过该平台,无论何时何地,都可以对项目进行操作(托管和审查代码,管理项目和与世界各地的其他开发者共同开发软件)
- GitHub 平台为开源项目和私人项目都提供了项目处理功能,私人项目收费,开源项目不收费。
码云是什么?
- 码云是开源中国社区2013年推出的基于 Git 的完全免费的代码托管服务
- 码云主要功能除了提供最基础的 Git 代码托管之外,还提供代码在线查看、历史版本查看、Fork、Pull Request、打包下载任意版本、Issue、Wiki 、保护分支、代码质量检测、PaaS 项目演示等方便管理、开发、协作、共享的功能
- 码云官网地址:https://gitee.com/
GitHub VS 码云
- 码云服务器在国内,访问速度比github更快
- 两者都支持Git、SVN两种方式
- 码云的免费账户可以建立私有项目(只是有5人的成员上限),而GitHub上要建立私有项目必须付费
- 码云的每个仓库有1G的容量限制,把Unity工程弄上去一下就超了
GitHub 入门实战
注册GitHub并启动一个项目
- 进入官网:https://github.com/,如果没有账号,则先注册,否则直接登录即可
- 注册提交后会发送邮件进行验证,点击内容中的链接即可通过验证
- 接着会创建一个项目
创建仓库
- 仓库存储着包括修订历史记录在内的所有项目文件。
- 仓库可以是公开或者是私有的。公开的仓库可以被任何人查看,但是,只有项目所有者授予权限的人才可以提交修改到这个仓库。
- 另一方面,私有仓库提供了额外的控制,可以将项目设置为对谁可见。因此,公开仓库适用于开源软件项目,而私有仓库主要适用于私有或闭源项目。
◈ Owner:项目所有者,即仓库管理员
◈ Repository Name:仓库名称
◈ Description:仓库的简短描述
◈ Public/Private:项目仓库是开源项目还是私有项目
◈ Initalize this repository with a README:以一个 README 文件初始化此仓库
◈ 最后点击底部的 “创建仓库” 按钮即可创建成功。
添加分支
- GitHub 分支是一种同时操作单个仓库各种版本的方式。
- 默认情况下,任何创建的单个仓库都会被分配一个名为 “MASTER” 的分支,它被认为是最后一个分支。
- GitHub 的分支在被合并到主干(最后的分支)之前,可以再对仓库进行实验和编辑中发挥作用。
- 为了使项目适合每一个人的需求,通常情况下,总是需要添加几个格外的分支来匹配不同的项目。
- 在主分支上创建一个分支和复制主分支当前状态是一样的。
- 创建仓库后创建一个分支:
- 点击顶部的 “Branch:Master” 按钮,会看到一个下拉菜单,菜单里有填写分支名称的空白字段。
- 输入分支名称,在本例中输入 “myRepositoryWmx“。
- 按下回车键或者点击蓝色的 “创建分支” 按钮即可创建成功。
修改项目文件并提交
- GitHub 上,提交被定义为保存的修改的意思。
- 每一次提交都与一个提交信息相关联,该提交信息包含了保存的修改的历史记录,以及为何进行这些更改。这使得其他贡献者可以很轻松地知道作者做出的更改以及更改的原因。
- 修改的分支内容,默认不会对其它分支造成影响
- 以修改README.md文件为例,点击文件进入
- 修改后,可以在下面的描述字段填写描述,最后点击提交即可确认修改
开启拉取请求
- 拉取请求是一个允许贡献者提出并请求某人审查和合并某些更改到他们的分支的功能。
- 拉取请求还显示了几个分支的差异(diffs)。更改、添加和删减通常以红色和绿色来表示。
- 一旦提交完成就可以开启拉取请求,即使代码还未完成。
- 开启一个拉取请求步骤如下:
- 点击拉取请求选项卡。
- 点击新建拉取请求按钮。
合并拉取请求
- 最后一步是将子分支和基础分支 master 分支合并到一起。如果 子分支分支和 master 分支没有产生冲突,则会显示merge pull request的按钮。
- 如果不在需要,则可以删除myRepositoryWmx子分支,因为它已经被包含在 master 基础分支中了
- 注意如果是合并他人提交的拉取请求,则无需也无法删除合并过来的他人的分支。