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官网上管理自己的项目了。

GITHUB手册的更多相关文章

  1. Git多个SSH KEYS解决方案(含windows自动化、TortoiseGit、SourceTree等)

    工作过程中,经常会使用到多个git仓库,每个git仓库对应一个账号,可以理解为每个git仓库对应一个ssh key,因此我们需要管理多个ssh key.   一.快速创建ssh key   1. 创建 ...

  2. 搜刮一些开源项目的APP

    iOS完整App资源收集 <iOS完整app资源收集>  <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...

  3. Github快速入门手册

    最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...

  4. Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)

    简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...

  5. PostgreSQL - 官方手册、中文手册及Github项目地址

    PostgreSQL每次更新都会有语法变化,低版本的PostgreSQL是无法运行高版本的sql语法的,下边是官方手册地址,可以查看多个版本的: https://www.postgresql.org/ ...

  6. GitHub最强技术面试手册:Tech Interview Handbook

    摘要: 求职还是需要认真准备的. 原文:超实用技术面试手册,从工作申请.面试考题再到优势谈判,GitHub获30000星 作者:量子位 技术人员求职面试,单刷leetcode上的大厂题库可能还不够. ...

  7. GitHub 使用手册 - 基础篇

    缘起 Git已经成为程序员必备技能之一,而GitHub做为做流行的Git仓库托管平台,其不仅提供Git仓库托管,还是一个非常棒的技术人员社交平台,可以通过开源的项目进行协作.交流,是现在优秀的工程师必 ...

  8. GitHub教程手册、使用流程

    简述GitHub的使用方法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请调整网页缩放比例至200%) 1 注册过GitHub的朋友, ...

  9. github使用手册

    1.git init 2.git add README.md (增加文件夹/文件:git add dir/files) 3.git commit -m "注释内容” 4.git push - ...

随机推荐

  1. 袁新生《LINGO和Excel在数学建模中的应用》

    内容介绍 本书深入浅出地介绍了LINGO的基础知识.用LINGO语言描述现实问题的方法和用Excel处理数据的方法,重点是这两种软件在解决各种优化问题以及在数学建模中的应用,通过丰富的实例介绍了把实际 ...

  2. 洛谷P2048 [NOI2010]超级钢琴 题解

    2019/11/14 更新日志: 近期发现这篇题解有点烂,更新一下,删繁就简,详细重点.代码多加了注释.就酱紫啦! 正解步骤 我们需要先算美妙度的前缀和,并初始化RMQ. 循环 \(i\) 从 \(1 ...

  3. Vue框架——页面组件中使用小组件

    小组件在components文件夹中,页面组件在views文件夹中 一.先写小组件的vue,比如text.vue(在template设置模板渲染,style设置样式) <template> ...

  4. Python之路【第十八篇】:前端HTML

    一.前端概述 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind( ...

  5. Python中NumPy的使用一

    NumPy简介: 一个用python实现的科学计算,包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅 ...

  6. SAS学习笔记1

    数据采样 简单随机抽样,从sashelp数据集中air数据文件中选取30个数 数据探索 数字特征的探索:均值.频数.最大值.最小值.众数.中位数.方差.标准差 数字分布的探索:是否服从正态分布 连续型 ...

  7. pytest_pytest-html生成html报告

    前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github. ...

  8. dataGridView读写文本

    constant con = new constant(); private void loadlistbox2() { dataGridView1.ColumnCount = 1; string z ...

  9. 2019三六零 java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.360等公司offer,岗位是Java后端开发,最终选择去了三六零. 面试了很多家公司,感觉大部分公司考察的点都差 ...

  10. Flexbox布局入门笔记

    1.display:flex 设定为Flexbox布局容器. 2.flex-direction: row表示在水平方向展开可伸缩项:column表示在垂直方向展开可伸缩项:总之就是定义主轴(侧轴方向) ...