GitHub Guides

GitHub是什么?
创建一个存储库
创建一个分支
做一个承诺
打开Pull请求
合并将请求
Hello World项目是计算机编程中历史悠久的传统。这是一个简单的练习,让你开始学习新东西。让我们从GitHub开始吧!
你会学到如何:
1创建和使用存储库
2启动和管理一个新的分支机构
3对文件进行更改,并将其作为提交推送到GitHub
4打开并合并一个pull请求

GitHub是什么?

GitHub是一个用于版本控制和协作的代码托管平台。它可以让您和其他人在任何地方一起工作。
本教程将向您介绍GitHub的基本功能,如存储库、分支、提交和拉取请求。您将创建自己的Hello World存储库,并学习GitHub的Pull Request工作流,这是一种创建和评审代码的流行方法。
没有必要的编码
要完成本教程,您需要一个GitHub.com帐户和Internet访问。您不需要知道如何编写代码、使用命令行或安装Git(版本控制软件GitHub构建在Git之上)。
提示:在单独的浏览器窗口(或选项卡)打开本指南,以便在完成教程中的步骤时可以看到它。

第一步:创建一个存储库

存储库通常用于组织单个项目。存储库可以包含文件夹和文件、图像、视频、电子表格和数据集——任何项目需要的东西。我们建议包括一个自述文件,或者一个包含项目信息的文件。GitHub使得在创建新存储库的同时添加一个库变得很容易。它还提供了其他常用选项,如许可文件。
您的hello-world存储库可以是存储思想、资源甚至与他人共享和讨论内容的地方。

创建一个新的存储库

1在右上角,在您的头像或图标旁边,单击并选择New repository。
2将存储库命名为hello-world。
3写一个简短的描述。
4选择使用README初始化此存储库。
在这里插入图片描述

创建一个分支

分支是同时处理存储库不同版本的方法。
默认情况下,您的存储库有一个名为master的分支,它被认为是最终的分支。在将分支提交给master之前,我们使用分支进行实验和编辑。
当您从主分支创建分支时,您是在复制或快照主分支。如果其他人在您处理分支时对主分支进行了更改,您可以将这些更新拉进来。
这个图表显示:
1主分支
2一个名为feature的新分支(因为我们正在这个分支上做“feature work”)
3特性在合并到master之前所经历的旅程
在这里插入图片描述
你曾经保存过不同版本的文件吗?喜欢的东西:
story.txt
story-joe-edit.txt
story-joe-edit-reviewed.txt
分支在GitHub存储库中实现了类似的目标。
在GitHub,我们的开发人员、作者和设计人员使用分支将bug修复和特性工作与主(产品)分支分离开来。当变更准备就绪时,它们将分支合并到master中。

创建一个新的分支

1转到您的新存储库hello-world。
2单击文件列表顶部的下拉框,上面显示branch: master。
3在新的分支文本框中键入一个分支名称,即readme-edits。
4选择蓝色创建分支框或按键盘上的“Enter”键。
在这里插入图片描述
现在您有两个分支,master和readme-edits。他们长得一模一样,但时间不长!接下来,我们将向新分支添加更改。

做一个承诺

万岁!现在,您在readme-edits分支的代码视图上,它是master的一个副本。让我们做一些编辑。
在GitHub上,保存的更改称为提交。每个提交都有一个关联的提交消息,它是一个解释为什么要进行特定更改的描述。提交消息捕获更改的历史,以便其他贡献者能够理解您所做的工作以及原因。

进行和提交更改

1单击README。md文件。
2单击file视图右上角的铅笔图标进行编辑。
3在编辑器中,写一些关于你自己的东西。
4编写一个提交消息来描述您的更改。
5单击Commit changes按钮。
在这里插入图片描述
这些更改将只对README -edits分支上的README文件进行,所以现在这个分支包含与master不同的内容。

打开Pull请求

漂亮的编辑!现在您已经在master分支中进行了更改,可以打开pull请求了。
Pull请求是GitHub上协作的核心。当您打开一个pull请求时,您是在提议您的更改,并请求某人审查和提取您的贡献,并将它们合并到他们的分支中。拉请求显示来自两个分支的内容的差异。变化、加法和减法用绿色和红色表示。
一旦提交,就可以打开pull请求并开始讨论,甚至在代码完成之前。
通过在pull request消息中使用GitHub的@mention系统,您可以从特定的人或团队那里获得反馈,不管他们是在大厅的另一个角落,还是在10个时区之外。
您甚至可以在自己的存储库中打开pull请求并自己合并它们。在进行大型项目之前,这是学习GitHub流的好方法。

打开一个Pull请求来更改自述文件

Step Screenshot

1单击Pull Request选项卡,然后从Pull Request页面中,单击绿色的New Pull Request按钮。
在这里插入图片描述
2在“示例比较”框中,选择您所创建的分支“readme-edits”,以便与master(原始)进行比较。
在这里插入图片描述
3分支在比较页面上查看您的差异,确保它们是您想要提交的。diff
在这里插入图片描述
4当您确定这些是您想要提交的更改时,单击绿色的Create Pull Request按钮。create-pull
在这里插入图片描述
5给你的pull request一个标题,并对你的修改做一个简短的描述。
在这里插入图片描述
当您完成您的消息时,单击Create pull request!
提示:你可以使用表情符号,将图片和gif拖放到评论和请求中。

扫描二维码关注公众号,回复: 4376711 查看本文章

合并将请求

在最后一步中,是时候将您的更改合并在一起了——将您的readme-edits分支合并到主分支中。
1单击绿色的Merge pull request按钮将更改合并到master中。
2点击确认合并。
3继续并删除分支,因为它的更改已经合并,紫色框中有delete branch按钮。
在这里插入图片描述
庆祝!
通过完成本教程,您已经学会了创建项目并在GitHub上发出pull请求!
以下是你在本教程中完成的:
1创建一个开源存储库
2启动并管理一个新分支
3更改文件并将这些更改提交给GitHub
4打开并合并一个Pull请求
看看您的GitHub配置文件,您将看到您的新贡献方块!
要了解更多关于Pull请求的功能,我们建议阅读GitHub流指南。您还可以访问GitHub Explore并参与一个开源项目
提示:查看我们的其他指南、YouTube频道和按需培训,了解更多关于如何开始使用GitHub的信息。
最后更新日期:2016年4月7日

GitHub流指南

GitHub流是一种轻量级的、基于分支的工作流,它支持团队和项目,在这些团队和项目中经常进行部署。本指南解释了GitHub流如何工作以及为什么工作。

创建一个分支

在这里插入图片描述
当你在做一个项目的时候,在任何给定的时间,你都会有很多不同的特性或想法在进行中——有些已经准备好了,有些还没有。分支的存在可以帮助您管理这个工作流。
当您在项目中创建分支时,您正在创建一个可以尝试新想法的环境。您对一个分支所做的更改不会影响主分支,因此您可以自由地试验和提交更改,并且知道在准备好由与您合作的人进行评审之前,您的分支不会被合并,这一点是安全的。
ProTip
分支是Git中的核心概念,整个GitHub流都基于它。只有一条规则:主分支中的任何东西都是可部署的。
因此,在处理某个特性或修复程序时,从master创建新分支是非常重要的。您的分支名称应该是描述性的(例如,refactor-authentication、user-content-cache-key、make-retina-avatars),以便其他人能够看到正在进行的工作。

添加提交

在这里插入图片描述
一旦创建了分支,就应该开始进行更改了。无论何时添加、编辑或删除文件,都是提交,并将其添加到分支。添加提交的过程在您处理特性分支时跟踪您的进度。
提交还可以为您的工作创建一个透明的历史记录,以便其他人能够了解您所做的工作以及原因。每个提交都有一个关联的提交消息,它是一个解释为什么要进行特定更改的描述。此外,每个提交都被视为单独的更改单元。如果发现bug,或者您决定朝不同的方向前进,那么这样可以回滚更改。
ProTip
提交消息非常重要,特别是Git跟踪您的更改,并在将其推送到服务器后将其显示为提交。通过编写清晰的提交消息,您可以让其他人更容易地跟踪和提供反馈。

打开Pull请求

在这里插入图片描述
拉请求引发关于提交的讨论。因为它们与底层Git存储库紧密集成,所以任何人都可以清楚地看到,如果它们接受您的请求,将合并哪些更改。
您可以在开发过程中的任何时候打开Pull请求:当您只有很少的代码,或者没有代码,但是想要共享一些屏幕快照或一般的想法,当您遇到困难,需要帮助或建议,或者当您准备好让别人检查您的工作时。通过在Pull Request消息中使用GitHub的@mention系统,您可以从特定的人或团队那里获得反馈,不管他们是在大厅的另一个角落,还是在10个时区之外。
ProTip
Pull请求对于贡献开源项目和管理对共享存储库的更改非常有用。如果您使用的是Fork & Pull模型,那么Pull请求提供了一种方法,可以将您希望项目维护者考虑的更改通知他们。如果您使用的是共享存储库模型,Pull请求可以帮助您在将建议的更改合并到主分支之前开始代码审查和讨论。

讨论并检查您的代码

在这里插入图片描述
一旦Pull请求被打开,审查您的更改的人员或团队可能会有问题或评论。也许编码风格与项目指导方针不匹配,更改缺少单元测试,或者也许一切看起来都很好,道具也井然有序。Pull请求旨在鼓励和捕获这种类型的对话。
您还可以根据对提交的讨论和反馈继续推动分支。如果有人评论说您忘记做某件事,或者代码中有bug,您可以在分支中修复它,并推动更改。GitHub将显示您的新提交以及您可能在unified Pull Request视图中收到的任何其他反馈。
ProTip
Pull Request注释是用Markdown编写的,因此可以嵌入图像和表情符号,使用预格式化的文本块和其他轻量级格式。

部署

在这里插入图片描述
使用GitHub,您可以从一个分支进行部署,以便在合并到master之前在生产环境中进行最终测试。
一旦您的pull请求被审查并且分支通过了您的测试,您就可以部署您的更改来在生产环境中验证它们。如果分支导致问题,可以通过将现有的主服务器部署到生产环境中来回滚它。

合并

在这里插入图片描述
现在已经在生产环境中验证了您的更改,是时候将您的代码合并到主分支中了。
合并后,Pull请求保存对代码的历史更改记录。因为他们是可搜索的,他们让任何人回到过去了解为什么和如何作出决定。
ProTip
通过将某些关键字合并到Pull请求的文本中,可以将问题与代码关联起来。当您的Pull请求被合并时,相关的问题也被关闭。例如,输入短语close #32将关闭存储库中的第32号问题。更多信息,请查看我们的帮助文章。

分叉项目

在自己使用GitHub一段时间之后,您可能会发现自己想要为其他人的项目做出贡献。或者你可能想用别人的项目作为你自己项目的起点。这个过程被称为分叉。
创建“fork”是生成其他人项目的个人副本。fork充当原始存储库和个人副本之间的某种桥梁。您可以提交Pull请求,通过提供对原始项目的更改来帮助其他人更好地完成项目。分岔是GitHub社交编码的核心。
在本教程中,我们将使用Spoon-Knife项目,它是位于GitHub.com上的一个测试存储库,允许您测试Pull Request工作流。

叉存储库

要对匙-刀存储库进行分支,请单击存储库标题中的fork按钮。
存储库的fork按钮
坐下来看分叉魔术。当它完成时,您将被带到勺子-刀存储库的副本。

克隆你的叉子

您已经成功地分叉了勺子-刀存储库,但是到目前为止,它只存在于GitHub上。为了能够完成这个项目,你需要把它复制到你的电脑上。
如果您正在使用GitHub Desktop,那么这个过程非常简单。在你的勺子刀叉,导航到右边栏,点击克隆或下载。如何克隆取决于你自己。一些选项是使用命令行克隆,或者使用GitHub桌面克隆。

做出并推动改变

继续使用您最喜欢的文本编辑器(如Atom)对项目进行一些更改。例如,您可以更改索引中的文本。添加您的GitHub用户名的html。
当您准备提交您的更改时,进行阶段设置并提交您的更改。
分段和提交本地更改现在是否太高级了?请查看这个交互式教程的随需应变培训,以帮助您了解更多信息。
现在,您实际上已经告诉Git:“好了,我已经对更改进行了快照!”您可以继续进行更多更改,并获取更多提交快照。当您准备将更改推送到GitHub.com时,请将更改推送到远程。

提出拉取请求

最后,您已经准备好向主项目提出更改了!这是创建其他人的项目分支的最后一步,可以说是最重要的一步。如果你已经做出了一个你认为对整个社区有益的改变,你绝对应该考虑做出贡献。
为此,请转到GitHub.com上您的项目所在的存储库。对于本例,它将位于https://www.github.com/<your_username>/Spoon-Knife。您将看到一个横幅,表明您最近推出了一个新的分支,并且您可以将这个分支“向上”提交到原始存储库:
最近推出的树枝横幅
单击Compare and Pull Request会将您发送到一个讨论页面,在那里您可以输入标题和可选描述。重要的是提供尽可能多的有用信息,并说明为什么要首先提出这个Pull请求。项目所有者需要能够确定您的更改是否像您认为的那样对每个人都有用。
当你准备好输入你衷心的论点时,点击Send pull request。你已经完成了!
发送拉请求按钮
Pull请求是一个需要讨论的领域。在这种情况下,oct非常繁忙,可能不会合并您的更改。对于其他项目,如果项目所有者拒绝了您的Pull请求,或者要求您提供关于为什么要这样做的更多信息,请不要生气。甚至可能是项目所有者选择不合并您的pull请求,这完全没有问题。你的副本将在互联网上声名狼藉。谁知道呢——也许你从未见过的人会发现你的改变比最初的项目更有价值。分享和分享一样!
万岁!
您已经成功地分叉并向存储库作出了贡献。走出去,贡献更多!

Mastering Markdown

Markdown是一种轻量级且易于使用的语法,用于在GitHub平台上对所有形式的书写进行样式化。
你会学到什么:
1标记格式如何使样式协作编辑变得容易
2降价与传统的格式方法有何不同
3如何使用标记来格式化文本
4如何利用GitHub的自动标记呈现
5如何应用GitHub独特的降价扩展

减价是什么?

标记是一种对web上的文本进行样式化的方法。控制文档的显示;将单词格式化为粗体或斜体,添加图像,以及创建列表,这些都是我们可以使用Markdown做的事情。大多数情况下,Markdown只是普通文本,其中包含一些非字母字符,比如#或*。
你可以在GitHub附近的大部分地方使用Markdown:
1Gists
2Comments in Issues and Pull Requests
3Files with the .md or .markdown extension
有关更多信息,请参见GitHub帮助中的“在GitHub上写作”。

例子

文本列出图像标题和引用额外的代码
用标记使一些单词粗体和另一些单词斜体非常容易。你甚至可以链接到谷歌!
用Markdown很容易使一些单词加粗,另一些单词斜体。你甚至可以链接到谷歌!

语法指导

这里概述了可以在GitHub.com或您自己的文本文件中的任何地方使用的Markdown语法。

df # This is an

tag
df ## This is an

tag
df ###### This is an

tag签

强调

This text will be italic
This will also be italic

This text will be bold
This will also be bold

You can combine them

列表

无序

  • Item 1
  • Item 2
    • Item 2a
    • Item 2b

有序

  1. Item 1
  2. Item 2
  3. Item 3
    1. Item 3a
    2. Item 3b

图片

GitHub Logo
Format: Alt Text

链接

http://github.com - automatic!
GitHub

As Kanye West said:

We’re living the future so
the present is our past.

内联代码

I think you should use an
<addr> element here instead.

GitHub味减价

GitHub.com使用自己版本的Markdown语法,它提供了一组额外的有用特性,其中许多特性使它更容易处理GitHub.com上的内容。
注意,GitHub风味的Markdown的一些特性仅在问题和Pull请求的描述和评论中可用。这些包括@mention以及对SHA-1散列、问题和Pull请求的引用。任务列表也可以在Gist注释和Gist标记文件中找到。

语法高亮显示

下面是一个使用GitHub风格标记高亮显示语法的例子:

function fancyAlert(arg) {
  if(arg) {
    $.facebox({div:'#foo'})
  }
}

你也可以简单地缩进你的代码由四个空格:
function fancyAlert(arg) {
if(arg) {
$.facebox({div:’#foo’})
}
}
下面是一个没有语法高亮显示的Python代码示例:
def foo():
if not bar:
return True

任务列表

  • @mentions, #refs, links, formatting, and tags supported
  • list syntax required (any unordered or ordered list supported)
  • this is a complete item
  • this is an incomplete item
    如果您在问题的第一个注释中包含任务列表,那么您将在问题列表中获得一个方便的进度指示器。它也工作在拉请求!

您可以通过组合单词列表并使用连字符(对于第一行)分隔它们来创建表,然后使用管道|分隔每一列:

First Header Second Header
Content from cell 1 Content from cell 2
Content in the first column Content in the second column

将成为:
首标头单元格1中的内容单元格2中的内容第一列中的内容第二列中的内容

沙的引用

提交的SHA-1散列的任何引用都会自动转换为GitHub上提交的链接。
16c999e8c71134401a78d4d46435517b2271d6ac
mojombo@16c999e8c71134401a78d4d46435517b2271d6ac
mojombo/github-flavored-markdown@16c999e8c71134401a78d4d46435517b2271d6ac

在存储库中发出引用

任何涉及问题或拉请求的数字都将自动转换为链接。

#1
mojombo#1
mojombo/github-flavored-markdown#1

用户名@提到

输入@符号,然后输入用户名,将通知那个人来查看评论。这叫做“@mention”,因为你是在提到一个人。你也可以@提到一个组织中的团队。

自动链接url

任何URL(如http://www.github.com/)都将自动转换为可单击的链接。

加删除线

任何用两个波浪号包裹的单词(比如这个)都会被划掉。

Emoji

GitHub支持emoji !
要查看我们支持的所有图片的列表,请查看表情符号备忘单。

猜你喜欢

转载自blog.csdn.net/AthlenaA/article/details/84453867