0%

7

自动摘要: 一、Github简介 官网文档:[https://docs.github.com/cn/getstarted/quickstart](https://docs.github.com/cn/ge ……..

一、Github简介

官网文档:https://docs.github.com/cn/get-started/quickstart实践教程:https://skills.github.com/

0. 预备

a. github官方网址https://github.com/,注册邮箱,用户名尽量简单些,因为经常会用到; 首页最下面有对应的API;
b. 登录状态下,网站主界面(网址:https://github.com/)如下:
首先看最上面黑色工具条,最左边是一个 GitHub 的 logo,点它就返回现在这个主界面。最右边是和你个人有关的东西(个人,新建,消息),这个和用过的任何软件一类比,就知道功能了。左边搜索框,和搜索引擎一样用来搜索(搜源码,搜资料)。中间的四个按钮:i. Pull requests:你想参与别人的项目,或想改进别人的项目,改进后需要提交申请,用 pull requests。ii. Issues:你发现别人项目的 bug,或者有什么问题,怎么和作者交流呢?提一个 Issue ;别人也可以给你的项目提 Issue 反馈问题。Issue 追踪各种想法,增强功能,任务,bug,有点儿像评论功能。iii. Marketplace:应用商店,里面有免费/收费的开发工具。iv. Explore:你可以理解成软件里的发现页,点进去推荐一些和你相关的话题、项目、新闻等。右上角那个头像就是个人 ,点一下头像,就会弹出一个小页面,点击 Settings 可以更改你的资料,Your XXX 都是你创建的一些东西(这里把点赞 star 也理解成你创建的),点击 Your profile 就可以进入你的主页。这里又涉及到一些专用词。

i. Projects:它可不是项目,上面说了 Repository 是项目。它可以翻译为项目板,是 project-boards 的简写, 通过项目板可以灵活地创建适合需求的自定义工作流程,说白了是管理项目流程的,一般不常用;ii. Star:就是点赞功能,这里用作动词,它叫 star 是因为点赞图标就是星星⭐。不过这个点赞比较像知乎里的点赞功能,它会记录在你的动态里。由于 GitHub 没有收藏功能,所以 star 可以用来收藏;iii. Follow:就是关注的意思,点击 Followers 看看谁关注了他,点击 Following 看看他关注了谁(大神关注的一般也是大神 )。iv. Github Packages:使你的源码和包在同一个地方进行统一的管理,使你可以集中的在Github上开发跟发布。

1. 储存仓repository的创建和删除

a. 在首页创建自己的仓库repository,步骤如下:i. 点击右上角的”+”号下拉框New repository:
ii. 会弹出如下界面:

  - 红色框为仓库名称(Repository name)和描述(Description)需自行定义;
  - 绿色框选择公共还是私有,区别在于是否允许外人访问;
  - 黄色框是选择创建README文件;
  - 粉色框是选择不上传的文件(gitignore的使用方法非常简单,我们在git目录下创建一个.gitignore文件,然后在这个文件当中列举出我们不希望提交的文件即可);
  - 深蓝色框是选择许可证(许可证告诉其他人他们可以和不能用你的代码做什么);

都定义完成之后点击浅蓝色框里面的绿色按钮Create repository,仓库创建完成。

iii. 建完仓库返回首页可以看到新建仓库的名字sy-5/3已经显示在Recent Repositories中,这就表示成功建立新仓库3:
b. 删除仓库repository,步骤如下:i. 导航到储存仓库的主页,单击’
‘设置:
ii. 在危险区域“Danger Zone”下,单击删除此存储库“Delete this repository”:
iii. 阅读警告iv. 如需验证是否正在删除正确的仓库,请输入要删除仓库的名称。
v. 单击“我了解后果,删除此存储仓库”。

2. 界面简介

通过搜索项目、点击别人的界面、推荐页面打开一个项目。以 Python 为例介绍界面:a. 在搜索框输入 Python 搜索,选择第一个项目,看点赞数就知道它是最欢迎的一个。
b. 点进去就是项目/仓库界面啦,认识一下主要功能:
首先最上面一条我们可以看到这个仓库的信息,像关注点赞都是按钮,点击可以看具体的人。这里涉及到两个新词语:i. Watch:关注观察 ,也就是你既可以关注(follow)一个人,也可以关注(watch)一个项目,你关注内容的动态都会显示在主页面。ii. Fork:直译是刀叉,它是指将 GitHub 的某个特定仓库(所有文件)原封不动地复制到自己的账户下。比如你想改进这个项目,加点儿自己的东西,就可以复制一下整个仓库再修改,但是不影响原作者的仓库,你点击 Fork 就能复制。下面一条是标签页:i. 比如默认的一个标签页 Code 就是展示代码的页面;ii. 如果你想看别人提的问题就点击 Issues 页,也许你遇到的问题别人提过并且解决了;iii. 有的人想参与这个项目,他改好后就向作者发起了 Pull Requests,希望作者接受他的改进,点进去可以看谁提交过什么样的改进,作者是否采纳。c. 下面这个主要部分就是仓库里的东西了,你可以看到就是一个个文件夹或文件,里面可能是代码文件,也可能是其他文档,图片什么的。我们会看到Code按钮,点击后,下面出现 HTTPS 地址和 SSH 地址。我们只要复制了这个地址,然后在电脑上右键点击存放文件夹,打开 Git Bash 客户端,输入命令行:git clone 复制的地址,就能下载这个仓库到本地电脑。你也可以点击 Code –> Download ZIP 下载到本地,具体学习。

d. 滑到最下面,可以看到一个叫 README.md 的一段文字,是仓库里的一个文件,只不过展示出来了。它就像产品说明书,或者是一个介绍页,告诉你这个仓库的有关信息,让你对仓库有了简单的了解。以后你要建个仓库,为了方便别人了解,也要写这样的文件。

e. 基本名称解释汇总:Pull Request:你想参与别人的项目,或想改进别人的项目,改进后需要提交申请,用 pull requests。Repository:翻译为仓库,也是你的项目。你可以理解成一个大的文件夹,或者笔记本。一个项目对应一个 Repository。Issue:Issue 追踪各种想法,增强功能,任务,bug,有点儿像评论留言功能。Star:就是给项目点赞Fork:将 GitHub的某个特定仓库(所有文件)原封不动地复制到自己的账户下(但不会与原仓库相同)。以此实现分散式版本管理Follow:关注人,关注后主页有他的动态Watch:关注项目,关注后主页有项目的动态Gist:上面没有提到,但是主界面点击头像可以看到 Your Gist。如果你没有一个项目,只是单纯地想分享一些代码片段,就可以写 Gist。README.md:每当创建项目、初始化时,都会帮你自动生成 README.md 文件并显示在仓库首页。一般都是使用 Markdown 语法(准确来说应该是GitHub Flavored Markdown(GFM)语法)来描述项目的概要、使用流程、许可协议等。

3. 创建分支

a. 分支:是存储库的并行版本。默认情况下,存储库有一个主分支main,在main存储库中可以创建其他分支,这些分支可以同时获取过去项目的不同版本。在添加的分支上进行编辑并不会改变main的项目内容,分支可以将分支工作与main工作进行隔离。换句话说,在编辑期间,每个项目是不会被改编的。b. 创建分支:导航到“Code”选项卡,如下图:c. 单击“main”主分支下拉列表,如下图:d. 在输入框中输入分支的名称,这里输入的是my-first-branch,如下图:e. 点击创建分支Create branch:my-first-branch,如下图:
会出现如下界面:

4. 提交文件

a. 什么是提交:提交是对项目中的文件和文件夹的一组更改。分支中存在提交。b. 导航到“Code”选项卡上,单击红色框,确保您位于新分支my-first-branch上,如下图:
c. 选择添加文件”Add file”下拉列表,单击创建新文“Create new file”件:
d. 在命名您的文件“Name your file…”输入框中输入“PROFILE.md”:
e. 在编辑新文件”Edit new file”区域中,将Welcome to my GitHub profile!这段话复制到您的文件中:
f. 对于提交,您可以输入一条简短的提交消息,描述您所做的更改。此消息可帮助其他人了解您的提交中包含的内容。GitHub 提供了一个简单的默认消息,但为了练习,让我们稍微更改一下。首先,输入提交新文件“Commit new file”下方的第一个文本输入Add PROFILE.md字段,单击提交新文件“Commit new file”按钮:
会出现如下界面:

5. 打开拉取请求

a. 什么是拉取请求:协作发生在拉取请求上。拉取请求向其他人显示分支中的更改。此拉取请求将保留您刚刚在分支上所做的更改,并建议将它们应用于main分支。b. 您可能已经注意到,在提交后,将显示一条消息,指示您最近推送到分支,并提供一个按钮,显示比较 & 拉取请求 “Compare & pull request” 。
如果需要,请随时单击“Compare & pull request”,然后跳到下面的步骤 vii。如果不单击该按钮,以下说明将引导您手动设置拉取请求:i. 单击存储库中的拉取请求”Pull requests”选项卡。
ii. 单击新建拉取请求”New pull request”。
iii. 在基本”base”下拉列表中,确保已选择“main”:
iv. 选择比较”compare”下拉列表:下拉,然后单击 “my-first-branch”
v. 点击创建拉取请求“Create pull request”:
vi. 为拉取请求 编写标题:Add my first file。
vii. 下一个字段可帮助您提供所做更改的说明。请随意添加到目前为止所完成工作的描述。作为提醒您已经: created a branch, created a file and made a commit!,如下图所示
vii. 单击上图“Create pull request”按钮,结果如下图所示:
ix. 在哪里找此分支?导航到该仓库界面:单击Pull requests —->Add PROFILE.md 就可以进入分支界面,如下图:

6. 合并拉取请求

a. 什么是合并:合并将拉取请求和分支中的更改添加到main分支中。b. 如上一步所述,您可能已经看到正在运行的操作的证据,该操作会自动将您的指令推进到下一步。您必须等待它完成,然后才能合并您的拉取请求。当合并拉取请求”merge pull request”按钮为绿色时,它将准备就绪。
c. 步骤如下:i. 单击合并拉取请求”Merge pull request”按钮;ii. 点击确认合并”Confirm merge”;
iii. 一旦您的分支被合并,您就不再需要它了。若要删除此分支,请单击删除分支”Delete branch”。

二、使用Markdown通信

GitHub 不仅仅是代码展示界面,还是一个软件协作平台,Markdown是开发人员在问题和拉取请求中清晰有序地进行沟通的最重要方式之一。本课程将引导您更有效地创建和使用标题,在项目符号列表中组织想法,并显示您已完成的清单工作。您甚至可以使用Markdown在表情符号,图像和链接的帮助下为您的工作增加一些深度。

0. 预备

点击https://github.com/skills/communicate-using-markdown#this-is-an-h1-header-which-is-the-largest,右键单击使用此模板”Use this template”,然后在新选项卡中打开链接。
创建一个新的库,名字为”introduction-to-github”。

1. 加标题 Add headers

a. 欢迎来到“使用Markdown通信”!i. 什么是Markdown?Markdown是一种用于在 GitHub 上进行通信的轻量级语法。您可以设置文本格式以添加标题、列表、粗体、斜体、表格和许多其他样式。你可以在 GitHub 周围的大多数地方使用降价:

  -  issues, pull requests, and discussions中的评论;
  - 带有.md或.markdown扩展名的文件;
  - 在要点中共享文本片段;

ii. 什么是标题?标题是节开头的较大文本位,有六个等级,例:

1
2
3
# This is an <h1> header, which is the largest
## This is an <h2> header
##### This is an <h6> header, which is the smallest

效果如下:
这是一个

header,它是最小的b. 使用header编辑文件

  1. 打开一个新的浏览器选项卡,并在阅读此选项卡中的说明的同时处理第二个选项卡中的步骤。
  2. 打开“Pull reduests”选项卡。
  3. 打开我们为您提出的拉取请求"start learning markdown"。

  4. 在此拉取请求中,转到已更改文件"File changed"选项卡。

  5. 在菜单栏"index.md"中,从右上角的三个虚线 **...** 菜单中选择**“**Edit file”:

  6. 在编辑文件"Edit file"选项卡上,在内容前添加一个# ,后跟一个空格,使其成为 H1 一级标题。您可以使用一到六个#字符后跟一个空格来添加更多等级的标题。

  7. 在新内容上方,点击预览"Preview"。

  8. 在页面底部,键入一条简短而有意义的提交消息,描述您对文件所做的更改。

  9. 单击提交更改"commit changes"。
  10. 等待大约20秒,然后刷新此页面以进行下一步。

2.添加图像 Add an image

a. 添加图像时,在方括号”[]”中包含描述性文本,此文本是为使用屏幕阅读器的用户大声朗读的。当您的图像不显示时,如链接不对时,也会显示它。您可以看到下面图像的语法,例:

1
![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png)

界面展示:b. Add an image步骤:

  1. 与之前一样,编辑index.md此拉取请求中的文件。

  2. 在文件代码行中新增一行,为您选择的图像添加正确的Markdown语句,不要忘记包含替代文本alt-text!

  3. 点击预览"Preview"选项卡检查您的Markdown格式,截图没有截全:

  4. 点击提交更改"Commit changes"。
  5. 等待大约20秒,然后刷新此页面以进行下一步。

3.添加代码块示例

a. 除了代码块之外,某些代码块的呈现方式也应根据语言(如 python 或命令行文本)而有所不同。例:
1
2
3
```
import nlp
print("###")

1
界面展示:

import nlp
print(“###”)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
b. 添加代码步骤:

1. 与之前一样,编辑此拉取请求中的文件。

![](/images/1663055936176-1f4f7eb9-672e-4f00-bd17-0379a952efa3.png)


2. 在文件中,为您选择的代码示例添加正确的 Markdown方式,这里通过三个单引号来包裹代码块。

![](/images/1663059442854-06d10123-3db1-4236-b1e5-8b477d5adc4f.png)


3. 点击预览"Preview"选项卡检查您的Markdown格式是否正确。

![](/images/1663059536220-1f90aff2-005a-442b-af37-337b26f46412.png)


4. 点击提交更改"Commit changes"。
5. 等待大约20秒,然后刷新此页面以进行下一步。

## 4.制作任务列表
a. 什么是任务列表?任务列表会创建要勾选的复选框。它们对于跟踪问题和拉取请求非常有用。如果您在问题或拉取请求的正文中包含任务列表,您将在问题列表中看到一个进度指示器。任务列表的语法非常具体。请务必在需要的地方包含空格,否则它们将无法呈现。例:

- [x] List syntax is required
- [x] This item is complete
- [ ] This item is not complete
1
2
3
4
5
界面展示:![](/images/1663060133679-965d5b54-ac09-4914-b5ff-e9525c02ed68.png)
b. 添加任务列表步骤:

1. 返回到您的拉取请求pull request。
2. 使用Markdown创建任务列表。下面是一个示例:

- [ ] Turn on GitHub Pages
- [ ] Outline my portfolio
- [ ] Introduce myself to the world
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
请记住,任务列表以语法- [ ]开头,然后是任务列表项。格式是特有的!

3. 使用预览"Preview"选项卡检查您的Markdown格式。

![](/images/1663060808480-396c3f39-26a6-493f-b977-a615dfe91550.png)


4. 提交更改"Commit changes"。
5. 等待大约20秒,然后刷新此页面以进行下一步。

## 5.合并拉取请求
步骤:i. 单击合并拉取请求"Merge pull request"。返回Start learning markdown界面,有如下界面:![](/images/1663061387870-f744cdd5-421c-4e7f-ab7d-3c9b336d2d17.png)
![](/images/1663061433135-127d4ca0-78e2-42ba-8b39-568e0fd649ac.png)
ii. 等待大约20秒,然后刷新此页面以进行下一步。

# 三、网站页面设置

## 0. 预备
使用链接[https://github.com/skills/github-pages](https://github.com/skills/github-pages)中的模板建库:i. 右键单击“使用此模板”,然后在新选项卡中打开链接 ![](/images/1663062337955-248b1952-3cf5-4134-ac90-3368963f39e7.png)
ii. 储存库的名字为"introduction-to-github-3":![](/images/1663062614841-02be72d7-1a91-4c2e-aed5-bd5ed28b75d2.png)


## 1.启用 GitHub 页面
第一步是在此存储库上启用 GitHub 页面。当您在存储库上启用 GitHub 页面时,GitHub 会获取主分支上的内容,并根据其内容发布网站。

1. 打开一个新的浏览器选项卡,并在阅读此选项卡中的说明的同时处理第二个选项卡中的步骤。
2. 在您的存储库名称"introduction-to-github-3"界面,单击Settings。

![](/images/1663062908129-b979eb9b-20ac-4912-8a84-fc7cd92a0218.png)


3. 单击页面"Pages":

![](/images/1663063180913-cbd4cbab-7be2-4d9c-a0f9-19a6f94664bc.png)
d. 在"GitHub Pages"部分,使用源"Source"下拉列表选择"Deploy from a branch",然后选择"main"分支:![](/images/1663063585345-58c3216e-9c10-489d-a36d-72e6e1ee1bff.png)
e. 等待大约一分钟,刷新此页面可以进行下一步。打开 GitHub 页面会创建存储库的部署。GitHub 操作在等待部署时可能需要长达一分钟的时间才能做出响应。未来的步骤将是大约20秒;此步骤较慢。

## 2.配置网站
a. 打开 GitHub 页面!

- 我们将在我为您创建的my-pages分支中工作,此网站看起来很棒。

![](/images/1663118337677-e378feba-d635-44ec-9007-0eb4ebcd4b8a.png)


- Jekyll 使用标题文件_config.yml来存储您的网站、主题和可重用内容,如网站标题和 GitHub 句柄的设置。您可以在存储库的“Code”选项卡上签出_config.yml文件。
- 我们需要使用博客就绪的主题。对于此活动,我们将使用名为"minima"的主题。

b. 步骤:

1. 浏览到my-pages分支中的_config.yml文件;

![](/images/1663118465476-12209cb9-078c-4ea2-a7e9-d27e6ed9dbed.png)


2. 在右上角,打开文件编辑器;

![](/images/1663118562635-05bf7c11-b037-4b13-a204-3dadeb827adb.png)


3. 添加一个theme: 设置为 minima,这样它就会显示在 _ config.yml 文件中,如下所示:

![](/images/1663118942368-98cdad8c-68cf-460c-ab67-8aa321ffe2a5.png)


4. (可选)您可以修改其他配置变量,如 title: 、author: 和 description: ,以进一步定制您的网站;
5. 提交更改,单击Commit changes;

![](/images/1663119075883-7ed68455-515d-4f70-95ac-0d10c6644bcb.png)


6. 等待大约20秒,结果如下:

![](/images/1663119269844-913df58e-b03c-4f46-a70f-2f7c3d18a0ab.png)


## 3. 自定义主页homepage
a. 您可以通过向index.md文件或README.md文件添加内容来自定义主页。GitHub 页面首先查找一个index.md文件。您的存储库有一个index.md文件,因此我们可以对其进行更新以包含您的个性化内容。b. 创建主页步骤:

1. 浏览到my-pages分支中的index.md文件;

![](/images/1663119963218-4acaa6be-8b05-4b25-8e03-4281c0525986.png)


2. 在右上角,打开文件编辑器;

![](/images/1663120150542-7ba4a648-a74a-4de2-a139-61ba974ccc2e.png)


3. 在主页上键入所需的内容。您可以在此页面上使用Markdown格式;

![](/images/1663120891010-54ebfd65-4f25-400e-bd24-53651f14b07c.png)


4. (可选)您也可以修改title:或暂时忽略它。我们将在下一步中讨论它;
5. 将更改提交到my-pages分支;

![](/images/1663120943594-3253ec39-1a49-4fab-b161-4d3743f78fad.png)


6. 等待大约20秒,结果展示:

![](/images/1663121390666-25fdabcb-4afd-4f8d-a37f-4a3a94fe03db.png)


## 4. 创建博客
a. GitHub 页面使用Jekyll。在Jekyll中,我们可以使用专门命名的文件和前言创建博客。这些文件必须命名为_posts/YYYY-MM-DD-title.md 。您还必须在前言中包含title和date。

- 什么是前言:Jekyll文件使用的语法称为 YAML frontmatter。它位于文件的顶部,如下所示:

title: “Welcome to my blog”
date: 2019-01-20

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

- 有关配置前置物料的详细信息,请参阅[Jekyll frontmatter documentation](https://jekyllrb.com/docs/frontmatter/).。

b. 创建博客步骤:

1. 浏览到my-pages分支。

![](/images/1663122492083-8babbf60-35e0-469b-9d21-7e22640c9291.png)


2. 单击Add file下拉菜单,然后单击Create new file。

![](/images/1663122540194-2bf3b979-9cf5-4f70-9625-67ff5a3b34c2.png)


3. 将文件命名为_posts/YYYY-MM-DD-title.md。

![](/images/1663122698556-e07ea079-4e28-4adb-aa15-b49a603f0674.png)


4. 将YYYY-MM-DD替换为今天的日期,并根据需要更改第一篇博客文章title。
- 如果您确实编辑了标题,请确保单词之间有连字符。如果您的博客文章日期未遵循正确的日期约定,您将收到错误,并且您的网站将无法构建。更多信息请参阅“[页面构建失败:无效的发布日期](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites)”。
5. 在博客文章的顶部键入以下内容:

title: “YOUR-TITLE”
date: YYYY-MM-DD


      6. 将YOUR-TITLE替换为博客文章的标题。

![](/images/1663123133051-f1ec1cbd-bc4f-47a2-84e4-a5753e903fa4.png)


      7. 将YYYY-MM-DD替换为今天的日期。

![](/images/1663123190215-9c9f2b30-8635-46f3-bda2-e16c9222953e.png)


      8. 键入博客文章的快速草稿。请记住,您以后可以随时对其进行编辑。
      9. 提交到分支Commit new file。
      10. 等待大约20秒,效果展示:

![](/images/1663123380405-1dbadf31-860c-4b1e-93cd-0d87bbed7b00.png)


## 5.合并拉取请求
合并拉取请求步骤:

   1. 单击合并拉取请求Merge pull request。
   2. 删除分支my-pages(可选)。
   3. 等待大约20秒,然后刷新此页面以进行下一步。

欢迎关注我的其它发布渠道