一文看懂 Github

简介: GitHub 介绍GitHub 是为开发者构建的一个开发平台。GitHub 是一个受开发者工作方式启发的开发平台,从开源到商业,能够在上面进行托管和查看代码、管理项目和数百万其他开发人员一起开发软件。

GitHub 介绍

GitHub 是为开发者构建的一个开发平台。GitHub 是一个受开发者工作方式启发的开发平台,从开源到商业,能够在上面进行托管和查看代码、管理项目和数百万其他开发人员一起开发软件。GitHub 提供免费账户和付费账户,免费账户只能创建开源的项目,付费账户可以创建私有项目。对学生有一定的福利,如果你是学生的话,可以用学校分配的邮箱在官网进行申请,申请通过之后,也能够创建私有项目。

要完成本教程,你需要一个 GitHub 帐户,可以在官网进行注册。

下面将分别介绍 GitHub 的基本内容,如仓库分支提交请求合并。在这里以创建 HelloWorld 仓库为例,并学习 GitHub 的其它内容。

1、创建仓库

仓库通常用于组织单个项目。仓库可以包含文件夹和文件、图片、视频呢、电子表格和数据集以及项目需要的任何东西。每个仓库下面都推荐有一个 README 文件,或者是一个包含项目信息的文件。可以在仓库中存储想法、资源,甚至可以与其他人共享和讨论问题。 

创建一个新的仓库

1、在左边的栏目中或者头像旁边点击 +,然后点击新建仓库。 

2、仓库的名称,我们设置为 HelloWorld。

3、给仓库写一个简单的描述,几句话介绍下该项目。

4、选择初始化仓库的时候,创建 README 文件。

5、点击创建仓库,完成仓库的创建。

 2、创建分支

分支是一次处理不同版本仓库的一种方式。默认情况下,仓库下面有一个名为 master 的分支,这是我们的主分支,也是最终的版本。我们使用其它分支来进行实验,在提交到主分支的之前,我们可以对分支进行编辑等操作。当我们在主分支上创建一个分支时,相当于我们从主分支上的复制或者是快照,这样当我们在自己的分支上工作时,如果其他人对主分支进行了更改,我们可以通过 Pull 操作来更新代码。每个分支都是独立的,一个项目可以有多个分支,每个人开发属于自己的一个模块,最后统一合并到主分支。

下面的图展示了

1、主分支(master)。

2、新的分支,名字叫 feature,每个分支都是对功能的扩展。

3、feature 分支被 master 合并的整个过程。

当你在主分支上创建一个分支时,相当于复制,或者快照。如果你在分支上工作时,其他人对主分支进行了更改,你可以通过 pull,进行更新到最新的代码。

 

你是否保存过不同版本的文件,如:

store.txt

store-zhw-edit.text

store-zhw-edit-reviewed.txt

分支就是用来解决这样的事情,在 GitHub 上,开发人员、作者和设计人员使用分支将 bug 修复和开发功能与我们的主分支分开,当一个变更准备好了,我们就将对应的分支合并到主分支。

创建一个新的分支

1、进到我们刚才创建的 HelloWorld 仓库。

2、点击上方文件列表中的分支 master。

3、在新的分支文本框中输入一个分支名称,readme-edits。

4、选择蓝色的创建分支框或点击回车键。

 

 

现在有两个分支,master 和 readme-edits。它们看起来完全一样,但不会太久! 接下来,我们将添加对新分支的更改。

3、修改和提交修改

我们现在所在的 readme-edits 分支,这是一个 master 的副本,接下来让我们做一些编辑。在 GitHub 上,保存的更改称为提交,每个提交都有一个关联的提交消息,这是对你做的修改进行描述,当你提交了更改,其他的贡献者通过描述可以知道你做了什么。

修改和提交修改

1、点击 README.md 文件。

2、点击右边的第二个铅笔图标进行修改。

3、在编辑区,写下关于自己的介绍。

4、填写提交信息,描述本次的更新。

5、点击提交变化按钮。

  

这些更改这是针对当前的 readme-edits 分支中的 README 文件,现在这个分支包含的内容与 master 上的内容是不同的。

4、请求合并分支(PR)

现在我们已经更改了分支,可以对主分支进行 Pull Request。Pull Request 是 GitHub 上合作的核心,当你发出一个 Pull Request 时,你是在提出你的变更,请求别人审查并将你做出的改变(贡献)合并到他们的分支中。Pull Request 显示来自两个分支内容的差异,这些变化,增加的内容以绿色来表示,减少的内容以红色来表示。

当你完成工作时,你可以进行提交,通过提出 Pull Request 并开始讨论,你可以在 Pull Request 时,使用 @,请求特定的人员或团队来审核。

 

为改变过的 README 文件,打开 Pull Request

1、点击 Pull Request  选项,然后在 Pull Request 页面,点击绿色的 New Pull Request 按钮。

 

 

选择我们创建的分支,readme-edits,以便与 master 进行比较。

查看文件的变化,确保这些都是你要提交的。

当检查好了之后,并没有任何错误,可以点击这个绿色的按钮,创建一个 Pull Request。

 

 

点击之后,给出本次 Pull Request 的 title 和描述。

以上都完成之后,点击绿色按钮创建。

 

5、合并 Pull Request

在这最后一步,是将之前的变更合并到主分支上,也就是将 readme-edits 分支合并到 master 分支上。

 

1、点击绿色按钮,合并变更到 master。

2、点击确认合并。

 

到这里你已经学会了在 GitHub 上创建仓库和怎么在别人的项目中贡献自己的一份力量。

 

你在本次学习中完成了下面的作业。

1、创建一个开源项目。

2、创建和合并分支。

3、改变文件内容,并将变更提交到 GitHub 上。

4、提出 Pull Requet 和合并一个 Pull Request。

 

PS:如果觉得文章不错的话,还请大家点赞分享下,算是对我的最大支持。

 

推荐阅读:

Java  学习经验总结

SSH配置—Linux下实现免密码登录

Java 学习资料

 

目录
相关文章
|
小程序 Java API
【Java】Spring boot快速上手(三)前后端分离实现小程序登录(接口篇)
【Java】Spring boot快速上手(三)前后端分离实现小程序登录(接口篇)
380 0
|
缓存 安全 Java
全面解读ConcurrentHashMap:Java中的高效并发数据结构
全面解读ConcurrentHashMap:Java中的高效并发数据结构
2372 2
|
机器学习/深度学习 自然语言处理 网络协议
为什么ChatGPT采用SSE协议而不是WebSocket?
在探讨大型语言模型ChatGPT的技术实现时,一个引人注目的细节是其选择使用SSE(Server-Sent Events)协议而非WebSocket来实现数据的实时推送。这一选择背后,蕴含着对技术特性、应用场景及资源效率的深思熟虑。本文将深入探讨ChatGPT为何偏爱SSE,以及这一决策背后的技术逻辑。
921 3
|
机器学习/深度学习 人工智能 分布式计算
外滩大会蚂蚁开源大规模图学习系统AGL
AGL 将持续的系统优化和能力创新,并将优秀的系统和算法实践开放到社区,本次开源为 AGL v0.1 版本。
外滩大会蚂蚁开源大规模图学习系统AGL
|
存储 安全 Devops
这个代码托管平台真的香!比 Github 速度更快!!!
这个代码托管平台真的香!比 Github 速度更快!!!
5637 0
这个代码托管平台真的香!比 Github 速度更快!!!
|
CDN
点播试看功能最佳实践
## 简介 试看指用户在观看视频或者音频等内容时,只能观看指定时间(如前五分钟)的内容,通常用于会员等付费业务场景。 阿里云视频点播服务提供了试看的完整解决方案,您可自由设置试看时长(或观看完整视频),播放服务会根据设置提供含有试看限制的特定的播放地址,可借此来实现完整的试看功能。 ## 使用前提 试看的基本原理是,播放的CDN加速地址带有试看的指定时长信息,云端会对该信息进行鉴权,鉴
3673 0
|
JSON 算法 fastjson
Fastjon2他来了,性能显著提升,还能再战十年
阿里官方给的定义是,FASTJSON是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
746 1
|
JavaScript 前端开发 索引
Vue2和Vue3的区别:从响应式开始
如果在项目中使用过Vue,那么一定会享受到其响应式带来的好处。作为前端三大框架之一的Vue,已经迭代出Vue2和Vue3两个大版本,Vue3是兼容Vue2的,但是为了区分,我们暂且将其看作是两个独立的框架。Vue3对响应式做了比较大的调整,工作原理上与Vue2并不相同,但是效率上来说Vue3是更好的选择。
1510 0
Vue2和Vue3的区别:从响应式开始
|
XML SQL Java
Java 中 List 集合 Stream 流详解
Java 中 List 集合 Stream 流详解
842 0
|
存储 测试技术 Linux
github 介绍
github 介绍