刚进公司上班的时候,技术总监让我熟悉一下Git(分布式版本控制工具)操作命令和GitHub(代码托管平台),说实话之前我也没有具体使用过Git工具,但是GitHub我还是注册过账号的。在练习将本地仓库(Git版本库)上传到远程版本库时,也顺带着学习了GitHub的官方指南。
然后还得和您说声抱歉,这份资料是我自己学习GitHub时使用的教程,在博客中我也不打算再把这篇官方指南一字不落地翻译成中文文档。
 
 
The Hello World project is a time-honored(历史悠久的) tradition in computer programming. It is a simple exercise that gets you started when learning something new. Let’s get started with GitHub!  译者注:如果您想了解Hello World的起源,可以参考这篇文章 程序员,你知道Hello World的历史么?
 

You’ll learn how to:

  • Create and use a repository             //  创建并使用仓库(版本库)
  • Start and manage a new branch      //  启动并管理一个新分支
  • Make changes to a file and push them to GitHub as commits    //  修改一个文件并将这些变更作为 commit push到GitHub上 
  • Open and merge a pull request       //  打开并merge一个pull request

译者注:有些GitHub的专有名词没有翻译,不是因为我懒得翻。以本人愚见,这些专有名词就算翻译过来也没有多大意思,原汁原味儿的比较好,实在不清楚可以去金山词霸查查具体含义。

What is GitHub?
GitHub is a code hosting(托管) platform for version control and collaboration(协同合作). It lets you and others work together on projects from anywhere.

This tutorial teaches you GitHub essentials like repositoriesbranchescommits, and Pull Requests. You’ll create your own Hello World repository and learn GitHub’s Pull Request workflow(工作流), a popular way to create and review code.

No coding necessary

To complete this tutorial, you need a GitHub.com account and Internet access. You don’t need to know how to code, use the command line, or install Git (the version control software GitHub is built on).   // 虽然教程说学习GitHub不必安装Git,使用命令行操作,但是还是建议读者稍微熟悉一下Git命令

Tip: Open this guide in a separate browser window (or tab) so you can see it while you complete the steps in the tutorial.

Step 1. Create a Repository
repository is usually used to organize a single project. Repositories can contain folders and files, images, videos, spreadsheets(电子表格), and data sets – anything your project needs. We recommend including a README, or a file with information about your project. GitHub makes it easy to add one at the same time you create your new repository. It also offers other common options such as a license file.

Your hello-world repository can be a place where you store ideas, resources, or even share and discuss things with others.

To create a new repository

  1. In the upper right corner(右上角), next to your avatar or identicon, click  and then select New repository.
  2. Name your repository hello-world .
  3. Write a short description.
  4. Select Initialize this repository with a README.

Click Create repository

Step 2. Create a Branch
Branching(n, 分支) is the way to work on different versions of a repository at one time.    //  分支是一种在同一时间运行同一仓库不同版本的方式

译者注:分支和快照是类似的概念,快照指的是在某一时间点的数据状态集合,相当于一种特殊的镜像文件

By default your repository has one branch named master which is considered to be the definitive branch. We use branches to experiment and make edits before committing them to master.

 
When you create a branch off(脱离) the master branch, you’re making a copy, or snapshot, of master as(与此同时) it was at that point in time. If someone else made changes to the master branch while you were working on your branch, you could pull in(吸收) those updates.
译者注:在实际团队项目中,我们在push更新代码前需要先把远程版本库中的代码更新pull下来。

This diagram shows:

  • The master branch   //  主分支
  • A new branch called feature (because we’re doing ‘feature work’ on this branch)   //  功能分支
  • The journey that feature takes before it’s merged into master   

// 从master分支脱离出来到被merge到master分支之前,feature分支会有一段单独历程

Have you ever saved different versions of a file? Something like:

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

Branches accomplish similar goals in GitHub repositories.    // Branches在GitHub仓库中完成相似的目标---储存一个文件的不同版本

Here at GitHub, our developers, writers, and designers use branches for keeping bug fixes and feature work separate from our master (production) branch. When a change is ready, they merge their branch into master.   译者注:master分支保存就是日后要做出来的真正production

To create a new branch

  1. Go to your new repository hello-world .
  2. Click the drop down at the top of the file list that says branch: master.
  3. Type a branch name, readme-edits , into the new branch text box.
  4. Select the blue Create branch box or hit “Enter” on your keyboard.
Now you have two branches, master  and readme-edits. They look exactly the same, but not for long! Next we’ll add our changes to the new branch.  
// master分支和readme-edits分支看起来相同,但是这种相同不会保持很久,因为我们很快将会对新分支(readme-edits)进行修改

译者注:这里的readme-edits分支就是上文中提到的feature分支,属于功能分支,用于增加某个模块功能

 
Step 3. Make and commit changes
Bravo(喝彩)! Now, you’re on the code view for your readme-edits branch, which is a copy of master. Let’s make some edits.
On GitHub, saved changes are called commits. Each commit has an associatedcommit message(提交相关消息), which is a description explaining why a particular change was made. Commit messages capture the history of your changes, so other contributors can understand what you’ve done and why.
// 在GitHub上,"保存变更"用专业名词叫 commit(提交),每个commit必须有相应的message用于描述为什么需要变更

Make and commit changes

  1. Click the README.md file.
  2. Click the  pencil icon in the upper right corner of the file view to edit.
  3. In the editor, write a bit about yourself.
  4. Write a commit message that describes your changes.
  5. Click Commit changes button.

These changes will be made to just the README file on your readme-edits branch, so now this branch contains content that’s different from master.

 
Step 4. Open a Pull Request
Nice edits! Now that you have changes in a branch off of master, you can open a pull request(拉回请求,请求合并到主干master).

Pull Requests are the heart of collaboration(协同工作的核心) on GitHub. When you open a pull request, you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch. Pull requests sho diffs, or differences, of the content from both branches. The changes, additions, and subtractions are shown in green and red.      // pull requests后master分支变化会用不同颜色显示,增加内容用绿色标识,删除内容用红色表示

As soon as you make a commit, you can open a pull request and start a discussion, even before the code is finished.   // commit后就会discussion模块出现

By using GitHub’s @mention system in your pull request message, you can ask for feedback from specific people or teams, whether they’re down the hall or 10 time zones away.

You can even open pull requests in your own repository and merge them yourself. It’s a great way to learn the GitHub Flow before working on larger projects.

Open a Pull Request for changes to the README

Click on the image for a larger version

Step Screenshot
Click the  Pull Request tab, then from the Pull Request page, click the green New pull request button.

Select the branch you made, readme-edits, to compare with  master  (the original).

Look over your changes in the diffs on the Compare page, make sure they’re what you want to submit.
When you’re satisfied that these are the changes you want to submit, click the big green Create Pull Requestbutton.

Give your pull request a title and write a brief description of your changes.

When you’re done with your message, click Create pull request!


Tip: You can use emoji and drag and drop images and gifs onto comments and Pull Requests.

Step 5. Merge your Pull Request

In this final step, it’s time to bring your changes together – merging your readme-edits branch into the master branch.

  1. Click the green Merge pull request button to merge the changes intomaster.
  2. Click Confirm merge.
  3. Go ahead and delete the branch, since its changes have been incorporated, with the Delete branch button in the purple box.

Celebrate!

By completing this tutorial, you’ve learned to create a project and make a pull request on GitHub!   

Here’s what you accomplished in this tutorial:

  • Created an open source repository
  • Started and managed a new branch
  • Changed a file and committed those changes to GitHub
  • Opened and merged a Pull Request

Take a look at your GitHub profile and you’ll see your new contribution squares!

If you want to learn more about the power of Pull Requests, we recommend reading the GitHub Flow Guide. You might also visit GitHub Explore and get involved in an Open Source project 


Tip: Check out our other Guides and YouTube Channel for more GitHub how-tos.

到此为止,官网上面GitHub入门教程已经介绍完了,相信通过您不屑的努力一定已经学会这些GitHub基础操作。如果想要进一步得学习,推荐GitHub Flow Guide(GitHub流程指南,交互式得操作使得读者更容易理解如何脱离分支、合并分支等概念)。

作为Git系列教程中远程仓库篇---GitHub系列教程的第一篇文章,本文就系统地介绍了GitHub使用者该掌握的基础内容。对系列教程感兴趣的同学,可以选择订阅我博客,我会在工作之余持续更新,与大伙共同提高(技术层面和英文层面),嘻嘻。

GitHub教程(一) 使用指南的更多相关文章

  1. GitHub教程(三) 本地仓库托管到GitHub

    本文开头先特别声明一下:由于GitHub教程属于Git系列教程的GitHub子篇章,因此GitHub教程中将不再详细介绍Git操作命令及其用法,我会根据实际需要穿插着回顾Git操作命令.如果读者需要学 ...

  2. mxGraph进阶(一)mxGraph教程-开发入门指南

    mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适用于需要在网页中设计/编辑Workflow/BPM流程图.图表.网络图和普通图形的Web应用程序.mxgraph下载包中包括用 ...

  3. 史上最简单的 GitHub 教程

    史上最简单的 GitHub 教程 温馨提示:本系列博文已经同步到 GitHub,如有需要的话,欢迎大家到「github-tutorial」进行Star和Fork操作! 1 简介 GitHub 是一个面 ...

  4. 24个很赞的 Node.js 免费教程和在线指南

    JavaScript 最初是用来创建动态网站效果的的前端语言.而如今,这门脚本语言也可以用作后端开发,用于搭建 Web 服务器,开发接口,甚至创建博客.在下面这个列表中包括24个 Node.js 教程 ...

  5. 上传本地代码及更新代码到GitHub教程

    上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...

  6. 一篇文章了解Github和Git教程-AndroidStudio上传Github教程

    前言 为了方便保存自己的代码,下班后可以回家继续进行,自己的码农工作,介绍一下Github. 什么是Github呢? 作为一个编程人员,我觉得得了解一下Github吧! 当然,如果你放弃了码农或者技术 ...

  7. git 入门教程之github 教程

    github 教程 github 是一个基于 git 的代码托管平台,是平时工作学习的好帮手,学会如何用好 github 网站能够帮助我们更好分享代码或者与其他开发人员合作. 注册 github 账号 ...

  8. 【转】mxGraph教程-开发入门指南

    原文:https://blog.csdn.net/sunhuaqiang1/article/details/51289580 mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适 ...

  9. GitHub教程(二) 删除已有仓库

    通过GitHub教程(一)的阅读,我相信您对GitHub体系框架已经有了模模糊糊的了解.本节教程将继续介绍GitHub的操作---删除仓库. 作为GitHub的入门使用者,我们可能会建一些简单的仓库来 ...

随机推荐

  1. jquery加载单文件vue组件

    /**注册组件 */ function registerComponent(name){ dm[name] = {}; Vue.component(name + '-component', funct ...

  2. golang mcall

    // func mcall(fn func(*g)) // Switch to m->g0's stack, call fn(g). // Fn must never return. It sh ...

  3. mysql 03

    CREATE TABLE class(    empno INT,    ename VARCHAR(4),    job VARCHAR(4),    mgr INT,    hiredate DA ...

  4. MySQL 主重复 时时

    MySQL .7开启Enhanced Multi-Threaded Slave配置: #slave slave-parallel-type=LOGICAL_CLOCK slave master_inf ...

  5. MySql的用户权限

    用户管理 MySQL数据库中的表与其他任何关系表没有区别,都可以通过典型的SQL命令修改其结构和数据.可以使用GRANT和REVOKE命令.通过这些命令,可以创建和禁用用户,可以在线授予和撤回用户访问 ...

  6. CCF ISBN号码 201312-2

    ISBN号码 问题描述 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应 ...

  7. Oracle 架构

  8. Java入门系列-14-深入类和对象

    这篇文章用大量的代码帮你搞懂:值传递和引用传递.构造方法.方法重载.static关键字的使用 方法参数传递-值传递和引用传递 1.值传递 敲一敲: /** * 使用方法交换两个变量的值 * @auth ...

  9. sql语句将数字转为汉字展示

    select [表字段Name] , ( case [表字段OrderState] when 1 then '已核销' when 2 then '确认前的移动端取消'when 3 then '已完成' ...

  10. Exists 和 Not Exists

    只注重子查询是否有返回行,如有返回结果为真,否则为假,并不适用子查询的结果,仅用于测试子查询是否有返回结果. 语法: if exists (子查询) begin 语句块 end 例子: if exis ...