GitHub 指南

原文地址:GitHub官网指南

示例项目:Hello World

十分钟轻松教学

在学习计算机语言编程的过程中创建Hello World 项目是一个历史悠久的传统。当你接触一门新事物的时候可以用它来做一个简单的练习。让我们开始使用github吧!

通过本文,您将会学到:

  1. 如何创建和使用仓库
  2. 如何创建和管理分支
  3. 如何改变一个文件并将它提交到github上
  4. 如何发起以及合并请求

什么是GitHub?


GitHub是一个代码版本控制和协作的托管平台。它可以让你和你的伙伴在任何地方一起进行项目开发。

本教程将帮助你学习GitHub的必备知识,如“仓库”、“分支”、“提交代码”以及“请求代码合并”。你将创建你自己的“hello-world”仓库并且学习GitHub的请求代码合并工作流,这是目前一种非常流行的创建和审查代码方式。

无需编码

要完成本教程,您需要注册一个GitHub账户并且需要联网。你不需要知道如何编码,如何使用命令窗口以及如何安装Git(GitHub的客户端软件)。

提示:你可以将本指南在一个单独的浏览器或浏览器tab窗口中打开,这样你就可以边看着指南边进行操作了。

第一步:创建一个仓库

一个仓库通常用来组织一个单独的项目。该仓库可以包含你项目中的所有文件,如文件夹、文件、图片、视频、电子表格、数据集等。我们建议包含一个README文件,或者你自定义的用来记录项目信息的文件。GitHub将默认在你创建仓库的时候添加它。在创建的同时还提供了权限许可选项。

你可以用你的“hello-world”仓库来存储你的想法、资源,甚至用它来和别人分享、讨论任何事情。

创建一个新的仓库

  1. 在页面的最右上角,你的头像的左边,点击“+”,在弹出的下拉选项中选择“New repository”。
  2. 在仓库名称输入框中输入你的仓库名称:“hello-world”。
  3. 写一个简短的描述。
  4. 勾选“Initialize this repository with a README”。

点击“Create repository”按钮,完成创建。

第二步:创建一个分支

分支是一个可以让你在同一时间工作在同一个仓库的不同版本的方法。

在你的仓库中会有一个默认的名叫“master”的主分支,该分支用来存储你最终确定的版本代码。我们用其他的子分支来进行编辑和更改,确定之后再提交到主分支。

当你从主分支创建出一个子分支的那一刻,其实你就是对当时时间点的主分支做了一个拷贝。如果之后别的分支的人对主分支做出了更新,在你提交到主分支之前,你必须先从主分支上拉取那些更新。

下面的图表将显示分支合作的整个流程:

  • 主分支
  • 一个新的命名为“feature”的子分支(因为我们正在这个分支上做开发)
  • “feature”分支合并到主分支之前的历程

你是否像下面这样保存过不同版本的文件?

  • story.txt
  • story-joe-edit.txt
  • story-joe-edit-reviewed.txt

在GItHub仓库中的分支就是为了完成类似的功能。

在GitHub上,我们的开发人员,编辑人员以及设计人员,分别在独立的分支上完成自己修改bug或功能编写的工作。当一个功能编写确定之后,他们就将自己的分支合并到主分支上。

新建一个子分支

  1. 进入你的“hello-world”仓库
  2. 点击文件列表上方的写着“branch: master”的下拉框
  3. 在输入框中输入新的分支名字“readme-edits”
  4. 点击下方蓝色背景的分支创建框或直接按键盘的“Enter”键

现在,你已经有了“master”和“readme-edits”两个分支了。他们看起来几乎一模一样,但是不要着急,接下来,我们将在我们新建的子分支上做出一些改变。

第三步:做出修改并提交

干得好!现在,你已经在你的新分支“readme-edits”上了,让我们来对它写点什么。

在GitHub中,保存更改被称为“提交”。每一次提交都需要写一段我们为什么做出修改的备注说明。这些备注说明将对你的更改做出记录,其他伙伴看到之后就知道你每次都提交了什么。

做出修改并提交

  1. 点击“README.md”文件,切换到“README.md”内容页面
  2. 点击编辑框右上角的铅笔按钮,进入编辑界面
  3. 在编辑框中,写一些你自己的信息
  4. 在下方的“提交更改”框中,输入你做出此次修改的备注说明
  5. 点击下方的“Commit changes”按钮

这些更改只是针对于位于你的“readme-edits”子分支中的 “README.md ”文件,所以现在这个分支上包含的内容和主分支上已经有所不同。

第四步:发出“请求代码合并”请求

现在你已经对你的新分支做出了修改,我们可以发出“请求代码合并”的请求啦。

请求代码合并是GitHub团队协作的核心功能。当你发出一个“请求代码合并”请求的时候,相当于你请求别人拷贝你当前的代码做出审查,审查通过之后将你的代码下载并且合并到他们的分支上。该请求将会在所有的分支上显示出不相同的部分。你做出的任何更改、增加以及减少,都会用绿色和红色显示出来。

在你的代码完成之前,你可以随时进行代码提交,发起请求代码合并的请求以及进行一场讨论。

你可以通过GitHub的“@”功能,在每次发出“请求代码合并”请求的时候,向特定的人或团队做出反馈,无论这个人是在你身边还是远在千里之外。

你可以向自己的仓库发出“请求代码合并”的请求,并且自己去合并他们。这在你接触到大型项目之前是一个非常好的练习方法。

为更改的README文件发出“请求代码合并”请求

第一步:点击“Pull Request”选项卡按钮,切换到请求代码合并页面,点击绿色的“New pull request”按钮

第二步:选择你创建的“readme-edits”分支,与主分支进行比较。

第三步:在对比页面查看这些更改,确定他们就是你想要提交的。

第四步:当你确定这些更改就是你所要的时候,点击绿色的“Create Pull Request”按钮。

第五步:为你的更改做一个简单的标题和描述。

当你写完备注描述之后,点击“Create pull request”按钮。

提示:你可以使用emoji表情或者拖拽图片到评论窗口进行评论。

第五步:合并你的“请求代码合并”请求

这是整个过程的最后一步,是时候将你在子分支“readme-edits”做出的更改合并到主分支“master”上了。

  1. 点击绿色的“Merge pull request”按钮,将这些修改合并到主分支
  2. 点击“Confirm merge”按钮
  3. 由于这个分支的更改已经被合并了,所以我们还需要点击紫色框中的“Delete branch”按钮,删除这个分支


大功告成,你已经学会如何在github官网上管理自己的项目了。

注:第一次做翻译,对于自己来说是个尝试,如果有翻译的不准确的地方,欢迎大家留言告诉我,我会及时做出更正,谢谢!下一篇将会讲解Git Bash的安装以及Git命令的使用。如果觉得GitHub的“pull request”词语比较难理解,可以直接把他理解为“老司机,带带我~~”

GitHub使用教程详解(上)——官网操作指南[翻译]相关推荐

  1. GitHub使用教程详解——官网操作指南(翻译)

    GitHub使用教程详解--官网操作指南(翻译) GitHub使用指南 原文地址:GitHub官网 示例项目:Hello World 十分钟轻松教学 在学习计算机语言编程的过程中创建Hello Wor ...

  2. GitHub使用教程详解(下)——Git的安装以及Git命令详解

    上一篇GitHub使用教程详解(上)--官网操作指南[翻译],是针对官网的guide进行了翻译,其实个人来说,我是很不喜欢那么操作的,又要等待页面加载,操作又慢!程序员嘛,还是直接敲入命令代码更迅速高 ...

  3. Java命令详解(根据官网)

    文章目录 语法介绍 Options Standard Options -agentlib:libname[=options] -Dproperty=value -classpath -cp -jar ...

  4. Mock.js详解(结合官网)

    文章目录 安装 Mock.mock()拦截与响应 rurl rtype template Mock.mock( template ) Mock.mock( rurl, template ) Mock. ...

  5. github使用教程详解

    1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令sudo apt-get install git; 第二步: 创建GitHub帐号; 第三步: 生成ssh key,使用命 ...

  6. Github 使用教程详解

    一.什么是Github,什么是Git,Github和Git什么关系 GitHub是一个面向开源及私有软件项目的托管平台,而Git是一个开源的分布式版本控制系统: 关系:Github是项目代码托管的平台 ...

  7. linux免安装mysql_linux上免安装版MySQL5.7.18的教程详解

    1. 下载mysql 从官网下载mysql的压缩包    mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 2 把下载的包上传到linux上,先安装下依赖包:Ubun ...

  8. protobuf2和3同时安装_在 Ubuntu 上安装 Protobuf 3 的教程详解

    什么时候需要安装 如果使用 protoc 命令,遇到 Protoc not found,表示未安装.或者,执行时出现错误:This parser only recognizes "proto ...

  9. Ngrok(内网穿透工具)使用教程详解

    简介 国内Ngrok官网地址 Ngrok是什么? ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道 ngrok 可捕获和分析所有通道上的流量,便于后期分析 ...

  10. php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解

    Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...

最新文章

  1. 整理Simple.Data使用方法
  2. 当git上只做文件大小写重命名的修改时,如何躲坑...
  3. 树莓派使用STEP2:设置网络
  4. 55. Attribute name 属性
  5. 使用Python剪辑 拼接音频文件
  6. PMP考试扫盲:超详细的PMP考试小白攻略,必看篇
  7. C语言---学生奖学金评定系统设计
  8. RecyclerView的canScrollVertically方法踩坑
  9. 目标框选之单阶段与两阶段目标检测区别
  10. 微信授权登录基本流程(网站应用)
  11. 第四行记录到第12韩记录
  12. 98大水灾,各国各地区对我国的捐助一览表
  13. 网络安全专栏——修改电脑密码修改虚拟机密码(图文)
  14. 用python画一个汉字_python使用reportlab画图示例(含中文汉字)
  15. linux驱动程序设计21 Linux设备驱动的调试
  16. Windows批处理文件中相当于NEQ、LSS、GTR等的符号
  17. JAVA 实现MD5加密算法
  18. 浅析Genesis公链
  19. 超简单的混合开发入门 JS实现安卓Listview
  20. 数字化采购管理 招标采购系统源码

热门文章

  1. linux结课考试试题,Linux认证考试课后基础试题及答案
  2. 【C++】2018华为软挑:模拟退火+贪心FF解决装箱问题
  3. Cadence PSpice 模型3:从官网或者技术支持得到的PSpice模型与Capture库关联方法图文教程
  4. 【ICML2019】Set Transformer:置换不变的注意力神经网络框架
  5. Linux下使用libevent库实现服务器端编程
  6. 溯雪-轻博客PHP开源系统
  7. 爱普生R230打印机清零
  8. 终点与起点——诺基亚 N9 初步上手
  9. 17_多易教育之《yiee数据运营系统》用户画像-技术架构方案篇
  10. 计算机毕业设计APP项目技术开发文档