GitHub简单教程
Hello World程序是计算机编程中由来已久的惯例,这是一个当你在学习新事物的时候开始的一个简单的小练习。让我们开始GitHub的"Hello World".
你将学会:
- 创建和使用一个版本库
- 开始和管理一个新的代码分支
- 对一个文件作出变化,并且将它们提交到GitHub上
- 打开及合并一个合并请求(pull request)
什么是GitHub?
GitHub 是一个进行版本控制和协作的代码托管平台。它可以让你与世界各地的开发者一起开发同一个项目。
这份指导将会教你GitHub的基本概念:版本库、分支、提交、以及合并请求。你将会创造属于你自己的Hello World 版本库并且学会GitHub的合并请求的工作流程,这是一个是受欢迎的创建和评审代码的方式。
没有写代码的必要
要完成这份教程,你需要一个GitHub网站的账号和能够连接连互联网,你不需要会写代码,也不需要会利用命令行及安装Git(GitHub内置的版本控制软件)。
提示:建议在单独的浏览器窗口(separate browser window)(或者标签),这样你可以在完成本教程的步骤时随时翻看本教程。
Step 1. 创建一个版本库
一个版本库是用来组织一个单独的项目。版本库中可以容纳文件夹和文件、图片、视频、电子表格,或是数据集,任何你的项目需要的东西。我们建议版本库中包含一个README,或者是一个介绍你的项目信息的文件。GitHub能够轻易地在你创建一个新的版本库的同时添加上述文件。GitHub也提供了其他常用的设置例如一个许可文件。
你的 hello-world 版本库将是一个你储存想法、资源甚至是与他人讨论想法的绝佳胜地。
新建一个新的版本库
1. 在页面靠近你的头像的右上角,点击十符号,选择New repository。
2. 将你的标准库命名为 Hello-World
3. 写一个简单的描述
4. 将 Initialize this repository with a README 选项勾上,这样GitHub在生成版本库的同时会生成一个README文件

5. 点击Create repository,这样一个HelloWorld的版本库便创建好了。
Step 2. 创建一个分支
分支系统是一个版本库同时在多个不同的版本上工作的一种方式。你的版本库在创建成功后会默认的创建一个名为master的分支,这个分支被认为是决定性的主线版本。在将内容提交到 master 分支之前,我们将会在其他分支上实验和修改我们的内容。
当你从 master 分支创建另外一个分支时,相当于将该时间段的 master 拷贝或者创建一个快照到你创建的分支上。当你在其他分支上工作时, master 分支被其他人修改了。这时候你可以在你的版本上合并这些更新。
下图展示出:
- 主线版本 master
- 一个叫做 feature 的新的分支(因为我们在这个分支上做着“未来的工作”)
- 在 feature 合并到 master 之前,它经历的过程

你是不是也对一个文件创建过下面的这些版本?
- 文件.txt
- 文件初稿完成版.txt
- 文件初稿完成版修改版.txt
- 文件最终修改版.txt
- 文件最终修改版再次修改版.txt
分支系统能够轻松的在GitHub中完成上述的工作。
在GitHub中,开发者,文案和设计者利用从 master (产品)单独拷贝的分支来进行bug的修改和功能独立的工作。当修改完毕,他们可以将他们自己的分支合并到 master 中。
创建一个新的分支
1. 跳转到你的新版本库hello-world。
2. 点击在文件列表顶端显示branch:master的下拉菜单
3. 在新的分支文本框中新分支的名称, readme-edits。
4. 选择蓝色的Create按钮或者敲击键盘的回车键。

现在,你就拥有了两个分支:主线分支 master 和 新创立的分支 readme-edits。这两个分支只是暂时看起来是一模一样的。接下来我们将会在新的分支上进行改动
Step 3. 进行和提交修改
接下来,你将要对你的readme-edits分支,master的一个备份,进行代码审查。首先我们先做出一些修改。
在GitHub中,保存更改的操作称为提交。每个提交的操作都会关联着一份提交信息,提交信息是一份解释为何要做出此更改的描述性文字。提交信息会保存你更改的历史,这样其他贡献者能够了解到你的成果以及你为什么要这样做。
制造并提交修改
- 点击
README.md文件。 - 点击文件预览窗口右上方的铅笔的小图标来进行编辑。
- 在编辑中,自由发挥写一点内容。
- 写一个描述你做出的改变的提交信息。
- 点击
Commit changes按钮。

刚才在README文件中做出的改变仅仅是在你的readme-edits分支上。所以现在这个分支上包含的内容与master上面的内容是不同的。
Step 4.打开一个合并请求
既然你已经在master之外的分支做出了许多的更改,那么你就可以开放一个合并请求。
合并是在GitHub上进行合作的核心。当你开放一个合并请求,意味着你正在提议你的修改,请求别人的评审并且采纳你的贡献将你修改的内容合并到他们的分支中。合并请求会显示出两个分支之间的差异和不同。修改,增加和减少将会以红绿对比的形式展示。
即使在编写代码的工作完成之前,只要你进行一次提交,你就可以开放一个合并请求并且开始一场讨论。
通过在你的合并请求信息中使用GitHub的提示信息,你可以向特定的人群或者团队请求回信,不论他们就在你楼下还是远在地球的另一边。
你甚至可以在你自己的版本库中开放请求信息然后合并它们,这是在处理大的项目之前一个很好的学习GitHub流程的方式。
对README的修改开放一个合并请求
1. 点击Pull Request标签,然后在合并请求的页面上,点击绿色的New pull request按钮
[
2. 选择你创建的分支readme-edits,拿它与master(源版本)进行比较。

3. 仔细检查比较页面你更改的不同,确保这些改变是你想要提交的

4. 当你对要提交的改变满意时,点击绿色的Create Pull Request的大按钮。

5. 给你的合并请求设置好题目并且对你做出的更改写一个简单的介绍

完成上述步骤之后,点击Create pull request创建合并请求
提示:你可以在合并请求和评论当中使用emoji表情和拖入图片或动图来更好的表达你的想法。
Step 5.提取你的合并请求
在最后的步骤,是将你的改变整合到一起去的时候——合并你的readme-edits分支到master分支上去
1. 点击绿色的Merge pull request按钮来将改变合并到master中。
2. 点击Confirm merge按钮来确认合并请求
3. 在分支被合并之后,可以利用紫色区域的Delete branch按钮来删除它。


祝贺你完成本次教程
在完成教程的过程中,我们学习了创建一个工程并且在GitHub上创建一个请求。
这是你在完成这份教程中所做的事:
- 创建了一个开源的版本库
- 开始并且管理一个新的分支
- 对文件作出改变,并且提交了这些改变在GitHub中
- 打开和合并一个合并请求
查看你的GitHub的侧面板你会看到你的新的贡献广场
想学习更多关于合并请求的功能,我们推荐阅读GitHub流程指南,你也可以访问GitHub浏览加入到开源项目中。
提示:可以查找我们其他的Guide,YouTube Channel以及On-Demand Training来学习更多开启GitHub的方法
GitHub简单教程的更多相关文章
- Git和Github简单教程
原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...
- Git和Github简单教程(收藏)
原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...
- Git和Github简单教程【转】
转自:https://www.cnblogs.com/schaepher/p/5561193.html#clone 原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但 ...
- 转:Git和Github简单教程
转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程 原文链接:Git和Github简单教程 网络上关于Git和Gi ...
- Git和Github简单教程(转)
这篇文章只挑一部分命令来讲,差不多够用就行的程度.如果需要其他命令,到时候再去其他地方了解就行了先在Github上写好再搬过来的:本文Github链接 目录: 零.Git是什么 一.Git的主要功能: ...
- 如何使用github,简单教程
前期准备:先行设置SSH KEY(请看我之前发的关于设置添加SSH的文章) 直接上命令: clone 已有仓库到身边的开发环境中 git clone git@github.com:<yourna ...
- GitHub 简单教程
码农朋友们都知道,GitHub是一个面向开源及私有软件项目的托管平台,上面托管了众多的优秀的项目,比如Linux内核源码.Git源码.机器学习框架Tensorflow等等.当然,除了这些顶尖项目外,还 ...
- git和github使用教程
看官请移步git和github简单教程, 本文是上述链接的截图,担心哪天作者不小心删除了,备一份在自己这里,仅为自己看着方便.侵权请告知
- github简单使用教程
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O ...
随机推荐
- [stm32] NRF24L01+USART搞定有线和无线通信
前言 一般进行远程监控时,2.4G无线通信是充当远程数据传输的一种方法.这时就需要在现场部分具备无线数据发送装置,而在上位机部分由于一般只有串口,所以将采集到的数据送到电脑里又要在上位机端设计一个数据 ...
- 《OOC》笔记(2)——C语言实现trycatchfinally
本篇就偷个懒吧,实在打不起精神. #ifndef _TRY_THROW_CATCH_H_ #define _TRY_THROW_CATCH_H_ #include <stdio.h> #i ...
- AngularJS快速入门指南15:API
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- nginx1
简介: Nginx全程是什么? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 安装 配 ...
- 从零开始用gulp
gulp是基于流的前端构件化工具.目前比较火的前端构建化工具还是挺多的,grunt gulp fis3等等. 这个鬼东西有什么用?请参考https://www.zhihu.com/question/3 ...
- 1.1.1. Atitit Cocos2d-JS v3.x的问题
1.1.1. Atitit Cocos2d-JS v3.x的问题 1.1. Api 兼容性 场景切换的api都不兼容了... 删除了比较多的api...可以dep啊.. 1.2. gui布局,, ...
- salesforce 零基础学习(三十七) DML及Database方法简单描述
在apex中通过soql查询可以使用两种方式,使用DML语句或者使用Database的方法. 使用DML语句和使用Database类的方法对于我们来说用的都很多,并且都很常见.对于数据库常见的操作:增 ...
- Maven Myeclipse 搭建项目
一.maven概述 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具! 简单说Maven 是一个项目管理和构建自动化工具 二.环境搭建 1. ...
- 重构Mybatis与Spring集成的SqlSessionFactoryBean(1)
一般来说,修改框架的源代码是极其有风险的,除非万不得已,否则不要去修改.但是今天却小心翼翼的重构了Mybatis官方提供的与Spring集成的SqlSessionFactoryBean类,一来是抱着试 ...
- 贪心算法-Huffman编码
伪代码: 例子: