@ecnu-cyx
2016-11-05T12:03:52.000000Z
字数 3248
阅读 1103
Github
写在前面
一直想着要把Github好好学一下,之前是准备学的,自己瞎点页面根本毫无头绪,今天一大早看到GitBook便想到Github,GitBook是一个像作业部落记笔记的好地方,它是基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。上午就把Github重新打开瞧一瞧,就学了点入门的东西。
Github:
Github是一个代码的托管平台,可以对代码进行版本控制和协同编辑,也就是可以与其他人在不同时间地点对同一项目进行协同工作。
Github比较重要的概念有repositories,branches,commits and Pull Requests,另外一个比较重要的就是GitHub's Flow
GitBook可输出的文档格式:
- 静态站点:GitBook默认输出该种格式,生成的静态站点可直接托管搭载Github Pages服务上;
- PDF:需要安装gitbook-pdf依赖;
- eBook:需要安装ebook-convert;
- 单HTML网页:支持将内容输出为单页的HTML,不过一般用在将电子书格式转换为PDF或eBook的中间过程;
- 一般用于电子书的调试或元数据提取。
在我们学习编程过程中,接触的第一个项目名称好像都是"Hello World"
,那么学习Github也是一样的道路。
Contents
- Create and use a repository
- Start and manage a new branch
- Make changes to a file and push them to GitHub as commits
- Open and merge a pull request
repository是用来组织一个单一的工程,可以包含文件夹和文件、图片、视频、表格和数据集等,即工程所需要的一切内容。另外还需要README文件或者另外一个说明工程信息的文件,这在Github新建一个repository是很容易实现的。还有就是提供一些通用选项,例如一个license文件。
Create a New Repository
1. 点击右上角的'+'号,然后选择New Repository;
2. 命名为 "hello-world";
3. 写一个简短的描述,还可选择repository是Public还是Private;
4. 选中Initialize this repository with a README。
点击Create repository完成创建。
branch是同时对一个repository的不同版本编辑的一种方式。就类似于我们在日常工作中对一个文件会保存多个版本,并给出不同的命名如下:
story.txt
story-joe-edit.txt
story-joe-edit-reviewed.txt
默认情况下repository只有一个名为 "master"
的branch,该branch被视为最终版的branch,在每个branch要commit到"master"
之前会使用branch进行实验和编辑。
当新建一个"master"
的branch时,此刻也同时建了一个"master"
的副本或映射。你在对自己的branch进行编辑的同时,如果其他人在"master"
做了更改,你是可以pull in这些更新的。
下图显示了:
"master"
branch- 一个名为
"feature"
的新branch,因为我们在这个branch上做‘feature work’- 下图显示可
"feature"
在合并到"master"
之前所要做的事务
在branch中,程序员、文字编辑和设计师都可以使用branches修复bugs和从"master"
中分离出的feature work。当更新工作完成,则可以将更改的branch合并到"master"
中。
Create a New Branch
1. 进入新建的repository "hello-world"
;
2. 点击文件文件列表顶端的branch: master出现下拉框;
3. 在新branch文本框中输入新的branch名称"readme-edits"
;
4. 按“Enter”键完成创建branch。
创建完成后会有两个branches,名称分别为"master"
和"readme-edits"
,实质上两者的内容是一样的。
首先进入"readme-edits"
的branch,即为"master"
的一个副本,对其进行做些更改编辑。
在Github中,保存更改称为commits,每次的commits都会有相关的commit message,这是对做的特定更改有一个描述解释。commit message会对每一次更改都会有记录,因此其他协同工作的人就会很容易理解做过的历史更改和其原因。
Make and Commit changes
1. 进入名为"readme-edits"
的branch;
2. 点击 "README.md"
文件;
3. 单击文件列表右上角“铅笔状”的图标进入编辑;
4. 在编辑器中,对文件做一点更改;
5. 然后在Commit message中写一点关于做的更改的描述信息;
6. 点击Commit changes按钮完成提交更新。
这些更改仅仅是对名为"readme-edits"
的branch进行更改,对名为"master"
的branch没有影响。
Pull Request是Github协同工作的核心,当打开一个Pull Request,你提出的变化和请求需要别人查阅和拉取你的贡献并将其合并到他们的branch(you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch)。Pull Request能够展示两个branches在内容上的不同,包括更改、增加和减少,也都分别以绿色和红色高亮标识。
一旦完成提交,便可以打开一个Pull Request并且开始讨论,即使在代码完成之前。
可以在Pull Request Message中使用Github's @mention system,你可以从特定的人和团队寻求反馈。
另外还可以在自己的repository打开Pull Request,这对于接触大型项目之前是比较好的方式学习Github Flow。
Open a Pull Request for changes to the README
1. 首先点击Pull Request选项卡,然后在该页面点击绿色的New pull request按钮;
2. 选择分支"readme-edits"
与"master"
(original)比较;
3. 在比较页面回顾一下你的更改,要确保这些是你需要进行更改的内容;
4. 当对更新没疑问的后,点击大绿色的Create Pull Request按钮;
5. 给Pull Request关于更改的一个标题和描述,可以Write和Preview选项卡切换(此处可以使用emoji和images and gifs);
是将更改的branch "readme-edits"
合并到 "master"
中
1. 点击大绿色Merge pull request按钮进行合并;
2. 点击Comfirm merge按钮;
3. 继续往后或删除branch。
- 进入Github profile,可以所有与自己相关的contribution
- 如果想学更多关于Pull Request,可以阅读Github Flow Guide,加深理解;
- 进入Github explorer参与到一些大型的开源项目中