[个人翻译]GitHub指导文件(GitHub Guides[Hello World])
[个人翻译]GitHub指导文件(GitHub Guides[Hello World])
Mirage_j个人翻译,欢迎转载,最好标明出处http://www.cnblogs.com/mirageJ/
Hello World是电脑编程史上悠久而又传统的工程。学习新事物时我们通常会以这个简单的小程序作为开始。我们就以此为开头了解GitHub吧!
通过这篇指导,你会学到如何:
- 建立并使用repository代码库
- 开始和管理新的branch代码分支
- 对文件进行修改并上传到GitHub进行commits确认存档
- 开始和融合一个pull request拉入请求
什么是GitHub?
GitHub是一个为版本管理和协同工作而生的代码管理平台。在这里,你可以和世界各地与你志同道合的人一起实现或完成各种工程。
这篇指导将引导你学习了解GitHub的各种元素,包括:repository代码库、branch代码分支、commits确认存档和pull request拉入请求。Pull Request是GitHub上一种非常流行的用来构建和检阅代码的方法,让我们从建立你自己的Hello World代码库来开始学习Pull Request的工作流程吧。
不需要敲代码
想要学习怎么使用GitHub,你得先注册一个GitHub账号(当然你还得能上网)。你甚至不需要知道怎么编程、怎么使用命令行、或者安装Git(一个建立GitHub的版本管理软件)。
Tip:你最好用新标签页打开这个页面,这样你就可以一边学习一边动手实践了
第一步:建立一个Repository
单个Repository经常用来管理单个工程。任何你的工程需要的东西——包括一堆文件夹、各种文件、图片、视频、表格和数据库,都可以扔进Repositories里。我们建议你的Repository里能包含一份README说明文档,或者一个写着你工程信息的文件。你可以很方便地在建立新的Repository的时候加入README或者工程信息,以及别的常用选项如证书文件。
建立一个hello-world Repository吧,你可以在里面存放你的想法,各种资源,进行分享以及与他人进行讨论。
建立一个新的Repository
- GitHub页面的右上角,你头像或者账号的下方,点+后选择New repository
- 给你的Repository取名为hello-world
- 随便写点描述
- 勾上Initialize this repository with a README.带上说明文件来初始化你的Repository
点击Creat repository,搞定!
第二步:建立一个Branch
Branching代码分支是一种对同一Repository的不同版本同时工作的方法。 Repository默认自带一个叫 master 的Branch,这个Branch是作为你工程的最终版本而存在的(或者正式版本)。我们利用多个Branch对工程进行试验和编辑,直到你把它确认到 master 。
当你在 master branch的下面建立一个新的branch时,你就等于复制了一个master branch,或者说是做了master在这个时间节点的快照。如果在你在自己的branch上工作的时候,有别人对master进行了修改,你可以将那些修改直接加进来。
下面这个图表展现了:
- master branch
- 一个叫feature的branch(因为我们通常都在这个branch上面做“feature work(实现功能)”的工作)
- feature在融合进master之前经过的旅程
你有没有保存过一个文件的不同版本?像这种:
- 一个故事.txt
- 一个故事(老李修订版).txt
- 一个故事(老李修订版-已审核).txt
Branch做的事情和上面的差不多,不过它是在Repository里面做的而已
在GitHub里面,开发者、写手、设计师用branch来为 master 修复bug和增加功能。当一个修改可以确认完成了,我们就把这些branch把融入到 master 里去
建立一个新branch
- 进入你的 hello-world Repository
- 点击下拉菜单,就在文件列表的上方,写着 branch:maser 那里
- 把要新建的branch的名字,如 readme-edits ,输到文本框里
- 按蓝色的 Create branch 或者按回车
现在你就有两个branch: master 和readme-edits 了,现在它们还完全一样,但是不会持续很久。接下来我们对新的branch做点修改
第三步:提出并确认修改
很好!现在你看到的是readme-edits的代码管理页,这个完全是复制 master的,让我们来对它进行点改动
在GitHub上,保存修改被称作 commits确认 。每个commit都带着一个确认消息,这条确认消息告诉大家为什么会进行这个修改,或者这个修改的具体描述。确认信息紧随着修改的历史记录,这样别的合作者就会知道你做了些什么以及你为什么这样做。
提出并确认修改
- 点击README.md文件
- 点击铅笔图标,它在编辑页面的右上角
- 在编辑栏里写些什么,可以是关于你自己
- 写下确认消息来描述你做的修改
- 点击 Commit changes 按钮
这些你做的修改都会在 readme-edits branch上保存,现在 readme-edits 就和 master 不一样了
第四部:开启一个Pull Request
干得好!你已经在 master 下做了修改了,现在你可以开启一个Pull Request了
Pull Request是GitHub协同工作的核心。当你开启一个Pull Request,你就是提出你做的修改并告诉别人:来查阅你的修改,然后将你做的贡献拉到他们的branch里去。Pull Request展示了双方branch里的不同。这些修改、增加与删减会以绿色和红色进行区分
当你完成commit的同时,你可以开启一个Pull Request然后开始进行讨论,这甚至可以在代码完成之前就进行
你可以在你的pull request消息里使用GitHub’s @mention system,通过它向特定的人或者团队请求反馈,不管这些人就住在你楼下或者现在处在地球的另一边
你现在就可以在你自己的Repository里开启你的pull request并且自己把它们融合到你的Repository里,这是一种在很好的学习方法,可以帮助你提前了解GitHub里参与大型工程的流程。
为README的修改开启一个Pull Request
- 点击Pull Request便签页,在打开的页面里点击绿色的New pull request按钮
- 选择你刚刚生成的readme-editsbranch来和原始的master进行比较
- 在这个对比页面里,你可以看到两个branch有什么不同,确保这些改动是你想确认保存的
- 如果觉得这些改动可以提交了,点击那个巨大的绿色按钮** Create Pull Request**
- 给你的pull request取个名字吧!你还可以大概地描述一下你做的改动
当你搞定这些东西之后,按Create pull request!
Tip:你还可以把emoji表情和图片拉到说明和Pull Request上
第五步:融合你的Pull Request
终于到最后一步了,是时候把你做的改动都放在一起了——将你的 readme-edits branch融入到 master branch里去
- 点击那个绿色的Merge pull request来把你做的改动融合到 master 里去
- 点击Confirm merge
- 让我们深入一点,学会怎么删除branch。既然这些改动已经被包含到 mater 了,那我们就可以按紫色方框里的Delete branch按钮删除掉之前的 readme-edits 了
恭喜!
你已经完成这篇教程了,也就是说你已经知道怎么在GitHub上面创建一项工程并开启Pull Request了
你在这篇教程里干了这些事情: - 建立了一个开源的Repository代码库 - 建立了一个全新的branch代码分支并且学会怎么管理它 - 对一个文件进行改动,并且在GitHub上确认保存 - 开启Pull Request拉入请求并且将它融合到别的代码里去
你可以看一眼你的GitHub上的个人中心,你会发现你有一个新的贡献广场contribution squares
你可以在这里GitHub Flow Guide继续学习Pull Request。你也可以去访问 GitHub Explore和投身到一项开源项目里去。
Tip:想要更多地了解GitHub?看下http://guides.github.com/,http://youtube.com/githubguides 和https://services.github.com/on-demand/吧。
[个人翻译]GitHub指导文件(GitHub Guides[Hello World])的更多相关文章
- 如何下载Github单个文件(Windows平台)
如何下载Github单个文件(Windows平台) 前提 安装Chrome 浏览器 Chrome浏览器 安装迅雷软件 安装Chrome 迅雷插件 可能商店里迅雷插件有好几种,这里使用这一种 一般使用者 ...
- 为 github markdown 文件生成目录(toc)
业务需要 在编写 github 项目时,有时候会编写各种 README.md 等 markdown 文件,但是 github 默认是没有目录的. 于是就自己写了一个小工具. markdown-toc ...
- 转载:删除github上文件夹的两种方式
http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...
- 如何用Github版本控制非Github库
Git的图形化客户端有很多,不同的人可能习惯用不同的客户端.本人更习惯于Github的客户端,因为上Github比较多,同步代码到Github用官方的客户端是最方便的,所以也就更习惯于使用Github ...
- Github学习之路-初出茅庐,接触Github,了解Github
一.了解GitHub 作为一个在线协作网站,GitHub允许程序员们分享和协力于开源项目的工作. GitHub不仅是一个分享开源创作并与其它程序员合作的好地方,你也可以从GitHub上收到自己作品的 ...
- 【Github教程】史上最全github用法:github入门到精通
原文 http://www.eoeandroid.com/thread-274556-1-1.html [初识Github] 首先让我们大家一起喊一句"Hello Github". ...
- Github 上利用github pages 部署站点
一:起始 准备项目,如果你在github上已有项目,则无需新建,如果你要新起一个项目,则需先在github上创建一个项目 本文以已创建好的 github/TestGitPage 为例. 二:设置gi ...
- 如何从本地把项目上传到github&&如何把github项目通过clone复制下来
一.第一步---注册一个Github账号 首先要在GitHub上创建一个帐号,可以去官方网站注册一个账号. 二.git安装 下载地址:http://msysgit.github.io/ 二.第二步-- ...
- github学习:如何从本地把项目上传到github&&如何把github项目通过clone复制下来,详细教程
一.第一步---注册一个Github账号 首先要在GitHub上创建一个帐号,可以去官方网站注册一个账号. 前提:本地安装一个git 本人github:https://github.com/saucx ...
随机推荐
- hibernate--一对多 多对一 双向关联 (重点!!!)
一方 group: package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax. ...
- Tasks and Back stack 详解
原文地址:http://developer.android.com/guide/components/tasks-and-back-stack.html 一个应用往往包含很多activities.每个 ...
- 17.4.3 使用MulticastSocket实现多点广播(1)
http://book.51cto.com/art/201203/322560.htm <疯狂Java讲义(第2版)>本书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法 ...
- ARM架构解析
ARM架构解析 (2014-11-23 21:56:53) 转载▼ 标签: francis_hao arm架构 arm核 soc 分类: MCU 先来谈一下ARM的发展史:1978年12月5日,物理学 ...
- flume-1.6.0单节点部署
这个不多说,直接上干货,部署很简单! 步骤一:flume的下载 当然,这里也可以使用wget命令在线下载,很简单,不多说. 步骤二:flume的上传 [hadoop@djt002 flume]$ ls ...
- CentOS 6.4 x64 zabbix 2.2.2 编译安装
A. 服务端安装配置 1.下载zabbix 2.x 最新版本 http://www.zabbix.com/download.php 2.安装配置所需要软件(zabbix需要一个lamp环境) 使用 y ...
- vim中c/c++源码跳转
在使用vim阅读c/c++代码的时候,代码跳转很重要, 在学习redis代码的时候遇到这个问题. 网上查找之后通过实践发现cscope比较好用,可以很方便的实现跳转 1. 安装cscope sudo ...
- hadoop重新启动之后Datanode无法启动的问题
每次将hadoop重新启动之后我们查看进程就会发现,namenode成功启动,然而datanode却不能重新启动,格式化以后也不行,百思不得其解,最后在终于在厦门大学的一篇博客里面找到了解决的方法,我 ...
- iOS开发——九切片
这个虽然就我来说,感觉它没啥用,但还是放这吧,有时间了把内容补上.
- PHP访问接口获取数据
如:http://localhost/operate.php?act=get_user_list&type=json 在这里operate.php相当于一个接口,其中get_user_list ...