GitHub 基本功能介绍 - 开始建立第一个储存库

本篇文章同步发布於个人部落格 (後续更新皆会以部落格为主):Github - 如何建立储存库


经过前面两篇以 High-Level 介绍 GitHub 後,在这一章节我们要来点实作,建立一个新的 Repository(以下简称 Repo 或储存库)。 Repo 包含您专案的所有程序码/文件与修改历史纪录,您可以在储存库内讨论和管理您的工作项目,也能透过 GitAction 进行建置(Build)、测试(Test) 或 布署(Deployment)。建立 Repo 也可以说是在 GitHub 上,建立新项目的第一步。

首先,我们开始建立第一个储存库:点选右上角 + 旁边的下拉选单,点选 New repository

https://ithelp.ithome.com.tw/upload/images/20210903/20091494E1MWdpK8K8.png

下图是 Create new repository 页面

https://ithelp.ithome.com.tw/upload/images/20210903/200914946Dtg2tXfHe.png

  • 储存库名称:每个储存库的命名方式为 Owner(个人或组织) 名称 + 自己命名的 Repo 名称 (如下图 matsurigoto/MyFirstRepo)

你可以随时在 Setting 内修改专案为公开或私有,但必须输入验证资讯

  • 描述:此储存库/专案描述
  • 公开/私有:公开可以让所有人浏览与贡献,也能享受比较多的功能(如免费的 Action);私有部分只有协作人员有权限可以检视
  • Add a README file:加入更多说明,以 markdown 格式撰写,在 Repos 主画面下方会显示。多数着名专案会在 README 内加入详细介绍、如何使用与相关资讯,如下图 ASP.NET Core Repo:

https://ithelp.ithome.com.tw/upload/images/20210903/20091494Vylay1Hduq.png

  • Add .gitignore:(建议勾选)不加入 Git 版本管理的档案设定,很重要但常常被遗忘。一般来说我们较少将以编译好的档案 或 编辑器的组态设定加入版本管理。每个人电脑内的编辑器设定不尽相同,下载别人的编辑器组态意义不大,最终导致每次 pull/push 都增加一笔修改纪录,增加负担;而另一方面,编译出来的档案也可能因为环境不同而有所以差异。通常我们会加入原始程序码,透过 CI/CD 工具进行编译,不让 "在我环境是没问题" 的情况反覆产生。 GitHub 很贴心,你可以选择专案属性/语言/编辑器类型,在建立储存库的时候一并产生 .gitignore

https://ithelp.ithome.com.tw/upload/images/20210903/20091494bIdxHWUxLM.png

  • Choose a license:告诉其他人,在这个储存库内,你能做与不能做的事情

完成输入後,点选最下发 Create Repository 即可

https://ithelp.ithome.com.tw/upload/images/20210903/20091494RsQ8ajCZil.png

最上方是关於 Repo 的功能,包含建立 Issue(发布讨论)、新增 Pull Request (提交贡献)、加入 Action(自动化工作)、Project(专案管理功能)、Wiki(知识库)、Security(安全性设定)、insight(统计相关)、Setting(设置),是较频繁使用的功能。

右上方为关於此 Repo 的统计,包含
watch: 追踪 (所有动态、忽略、只有参予此专案或指定时才通知 或自订追踪方式)
star: 给予肯定,给星星
fork: 将别人的储存库复制一份到自己的,就像叉子将桌上的肉取一份到自己盘子


编辑方式分成两种:网页编辑与 Git 方式编辑
你可以在网页上直接新增/上传/编辑储存库内荣。当您要对这些储存库加入新的内容,可以点选 Add file 加入新的档案。

每次编修档案都需要在下方加入 comment,描述这次修改行为。

https://ithelp.ithome.com.tw/upload/images/20210903/20091494iY5hZ6S6g7.png

当你想要编辑档案,只须点选中间储存库内容中要修改的档案,点选右下角的笔的按钮,即可编辑。

https://ithelp.ithome.com.tw/upload/images/20210903/20091494c7Gv7u0DhQ.png

https://ithelp.ithome.com.tw/upload/images/20210903/20091494oSUFEuDNsW.png

https://ithelp.ithome.com.tw/upload/images/20210903/20091494WhkMk2Exuc.png

与新增行为相同的是,每次编修档案都需要在下方加入 comment,描述这次修改行为, commit 方法有两种,一种是直接修改至现有分支 (Main);另一种是另开分支,并建立新的 pull request 待 Owner 审核後再合并。正常情况下会以後者方式进行较严谨。Pull Request 後续文章会介绍,目前我们先直接修改至分支,

https://ithelp.ithome.com.tw/upload/images/20210903/20091494lX30M7kDkm.png

以 Git 方式进行编辑,可以点选 Code 按钮,以 Git Clone 下载专案,编辑完成後以 Git Push 上传 (这里不在赘述,有兴趣的朋友可以参考线上 Git 教学。


GitHub 不仅仅只提供程序开发上使用,近年来也很多教学文件、书籍使用 GitHub 作为协作工具,清楚纪录每次修正、新版本的历史纪录。当文件有误或有其他建议时,也能透过 Issue/Pull Request 功能进行修正与讨论,相当方便,受到不少电子书作者喜爱。

经过本篇文章的介绍,你应该知道

  1. 如何建立储存库
  2. 了解建立储存库时相关设定
  3. 新增/上传/修改储存库内容
  4. 编修档案时提交 Git Commit(Comment)

下一篇文章我们将介绍如何提出 issue。藉由 issue 功能,协作人员可以进行讨论,审核人员可以将问题进行分类(label)并进行审视。随着提出与解决 issue 越来越多,进而让储存库内容更加完美完善,形成一个良性的循环。


<<:  Day3 JavaScript 如何输出

>>:  Day3. Ruby的数字、字串,以及 ===

Day18 Lab 2 - Object storage metadata

Object的metadata让我们能快速定位Object在什麽地方、属性等等,可以理解为类似资料库...

第 3 天 「速速前吕布奉先!」|NgModule、HttpClientModule、新增元件

前情提要 在昨天我们建立了 Angular 专案、使用 JSON-server 来制作 mock d...

学pchome截图-用html2canvas转成canvas,再下载

用html2canvas转成canvas,再下载 载入js,js会把div里的东西,转换成canva...

【Day28】为爬虫加上通知 - 用 axios 发出 LINE 通知

成功要选人少的路走,套件要选人多的来用 如何选择 Node.js 中发出 Request 的套件?...

Day27 - 铁人付外挂测试验收(三)- 端对端测试

曾经做过一个专案,顾客把商品加入购物车後,可以同时选择要加入几笔商品,然後在结帐页的时候需要根据商品...