什么是 GitHub,为什么需要它以及如何使用 GitHub,如何开始使用该服务 – 初学者指南。
GitHub 是托管开源存储库的最受欢迎的服务之一。该站点允许您发布自定义项目并跟踪每次迭代中所做的更改。其他 GitHub 用户可以查看用户代码并提出自己的更改建议。这个定义只提供了一个简要的理解。但是,服务的功能不限于此。在这篇评论文章中,我们将更详细地了解 Github。
- 什么是 GitHub 以及如何开始 – 初学者指南
- Git和GitHub——有什么区别,第一次认识Git和GitHub
- 什么是 Git?
- 什么是 GitHub?
- 主要区别是什么?
- 关于 Github 的有趣事实
- Github 功能
- GitHub 的工作原理、功能
- 分叉
- 拉取请求
- 合并
- 指南 – 如何从头开始使用 Github
- 步骤 0安装 Git 并创建 GitHub 帐户
- 第 1 步:启动 Git 并创建第一个本地存储库
- 步骤 2. 在存储库中创建一个新文件
- 第 3 步:将文件添加到跟踪暂存环境
- 第 4 步创建提交
- 步骤 5. 创建一个新分支 new branch
- 第 6 步创建一个新的 GitHub 存储库
- 第 7 步:将项目分支推送到 GitHub
- 此外
- 步骤 8. 创建第一个拉取请求
- 步骤 9合并拉取请求
- 步骤 10在本地机器上恢复 Github 更改
- Github 和 Git 的附加功能
- 将存储库克隆到本地计算机
- 查找远程存储库
- GitHub桌面版——什么是GitHub Desktop,主要功能、特点及安装流程
- 如何安装
- 主要功能
- Github API
- 管理和配置 Github 桌面项目
- 创建、添加和克隆存储库
- 创建新分支
- 安全
- 安全策略设置
- 依赖图管理
- 许可证
什么是 GitHub 以及如何开始 – 初学者指南
GitHub 是一个在线门户网站,开发人员和程序员可以在其中上传他们创建的代码并共同努力改进它。GitHub 的标志是其强大的版本控制系统。版本控制允许程序员在不影响软件本身的情况下定制软件。提议的更改可以很容易地合并到一个完整的版本中,但只有在所有更改都经过审查和批准之后。
Git和GitHub——有什么区别,第一次认识Git和GitHub
什么是 Git?
答:快速且可扩展的版本控制系统。Git 是一个免费和开源的分布式修订控制系统,旨在为从小型到大型的任何项目快速高效地设计。
什么是 GitHub?
答:用于管理私人开发和开源项目的强大云服务。
主要区别是什么?
Git是版本控制系统类别中的成熟软件,安装在用户的个人计算机上。Git 允许您通过命令行 (Microsoft PowerShell) 对代码进行更改,而 GitHub 提供了在公共访问中存储项目的能力。
关于 Github 的有趣事实
- 该网站去年的最大用户数(根据 2021 年 7 月 24 日的统计)为 4500 万人。
- 2018 年,微软以 75 亿美元收购了 GitHub。
- Github 上有一个开源的 git 存储库。任何人都可以对其进行更改。该项目可在链接中获得 – https://github.com/git/git?ref=stackshare
[标题 id=”attachment_12723″ align=”aligncenter” width=”751″]
GitHub 存储库示例[/caption]
Github 功能
- 能够与最流行的平台和服务集成 – 亚马逊、谷歌云和 Code Climate。
- 支持超过 200 种编程语言。
- 高度整合和“公会团结”。当用户在 GitHub 上发布他们的项目时,编程社区的其他成员可以下载并评估工作、代码质量和复杂程度。第三方用户可以警告项目所有者可能出现的问题、变量冲突等。
GitHub 的工作原理、功能
Github 最重要的三个特性是分支、拉取请求和合并。值得单独考虑每个功能。
分叉
分叉一个项目会创建一个副本(fork),允许用户在不影响原始项目的情况下自由试验。创建分叉和拉取请求:https://youtu.be/nT8KGYVurIU
拉取请求
开发人员在完成修复/更改代码后会发布拉取请求。同时,项目所有者本人可以审查所做的更改并提出任何其他问题。
合并
所有者批准拉取请求后,他们合并拉取请求并将分支项目中的更改应用到源代码。
指南 – 如何从头开始使用 Github
本指南非常适合所有刚开始学习 Git 和 Github 的初学者。以下步骤将帮助您构建使用此软件的最佳系统。您将学习如何更改代码库、打开拉取请求(创建拉取请求)以及将代码合并到主分支中。所以让我们开始吧。[标题 id=”attachment_12726″ align=”aligncenter” width=”740″]
GitHub 帐户仪表板[/caption]
步骤 0安装 Git 并创建 GitHub 帐户
- 进入Git官方网站:https://git-scm.com/downloads
- 点击链接下载桌面版 Git for Windows 并等待下载完成。
- 通过双击 Git.exe 文件提取并运行 Git 安装程序。
- 通过单击打开的“用户帐户控制”对话框中的“是”按钮,允许应用程序对 PC 进行更改。
- 启动 Git 安装过程。阅读主要的 GNU 公共许可证文档,然后单击下一步。
- 指定安装程序的位置,或保留默认值。该程序将提示您创建一个开始菜单文件夹。跳过此项目。
- 选择要与 Git 一起使用的文本编辑器。在下拉窗口中,选择 Notepad ++(或您之前使用过的任何其他文本编辑器),然后单击“下一步”。
- 指定新项目分支的名称。默认值为“主”。建议您将此设置保留为默认值。
- 在选择 PATH、SSH 客户端、服务器证书、行尾和终端的选项中,保持原样,然后单击“下一步”按钮。
- 保留所有默认设置并开始安装程序。
- 安装完成后,选中复选框以查看发行说明并启动 Git Bash。关闭安装程序窗口。
您可以使用以下链接在 Github 上注册一个帐户:https://github.com/join。为此,您必须输入以后验证您的帐户所需的基本注册数据。
第 1 步:启动 Git 并创建第一个本地存储库
Git有两种使用模式——bash(Git Bash)和图形用户界面(Git GUI)。要启动 Git Bash,请打开开始菜单 – Windows,键入 git bash 并按 Enter(或双击程序的快捷方式)。要启动 Git GUI,请打开开始菜单 – Windows,键入 git gui 并按 Enter。在我们的例子中,我们将使用 Git Bash。
在 Git Bash 中创建新项目涉及使用特殊命令来初始化新存储库。首先,您需要通过右键单击桌面打开一个 Bash 终端,然后在下拉菜单中选择 Git Bash Here。在本地计算机上的终端窗口中,通过键入以下内容创建一个新的测试目录(文件夹):
getrekt:Desktop getrekt $ cd ~/Desktop
getrekt:Desktop getrekt $ mkdir myproject
getrekt:Desktop getrekt $ cd myproject/
mkdir命令创建一个新的本地项目文件夹。创建我们的第一个 Github 存储库:https://youtu.be/yHCUc6cmhcc
步骤 2. 在存储库中创建一个新文件
在项目文件夹中,使用 touch 命令添加一个新的文本文件。以标准方式,该命令将创建一个具有 .txt 扩展名的空文本文件。
注意力!Git 仅保存/管理对其跟踪的文件的更改。创建新文件后,用户可以使用 git status 命令跟踪其状态。控制台将提供存储库中存在的文件列表。
一旦您将文件添加到包含 git 存储库的文件夹中,程序就会注意到项目内部的更改。但是,不会启用自动跟踪,您必须为此使用特殊命令 – git add。
getrekt:myproject getrekt $ touch getrekt.txt
getrekt:myproject getrekt $ ls
getrekt.txt
第 3 步:将文件添加到跟踪暂存环境
使用 git add 命令将文件添加到暂存环境。
getrekt:myproject git add 。使用此命令,程序将开始自动跟踪将在项目文件夹中创建的所有文件。您可以检查该命令是否适用于 git status。这是在 Git Bash 命令行上输入 git status 后日志的样子:
getrekt: getrekt getrekt$ git status
On branch master
初始提交要提交
的更改:(
使用“git rm –cached …”取消暂存)
添加了新文件 新文件
名:getrekt.txt
新文件:getrekt.txt 日志注释:该文件尚未提交,但即将添加。
第 4 步创建提交
提交是任何存储库的检查点。简而言之,一个更改包,其中存储有关存储某些代码的添加、编辑或删除文件的信息。
getrekt:myproject getrekt $ git commit -m “MY FIRST COMMIT GUYS!”
[master (root-commit) b345d9a] 我的第一个提交!
1 个文件已更改,1 个插入(+)
创建模式 100644 getrekt.txt
创建提交的命令是 git commit -m “Commit Name”。
注意力!命令末尾的消息应该对其他项目开发人员有意义且易于理解。不要将您的提交命名为“asdfadsf”或“foobar”。否则,没有人会明白任何事情,您将不得不花费大量时间删除它们。
步骤 5. 创建一个新分支 new branch
新分支是项目的成熟分支,由一整套提交组成。表示产品的单独版本,但在版本控制系统内。分支允许用户在项目的“状态”之间移动。
在官方 git 文档中,对分支的描述是:“Git 和 Github 中的分支是指向存储库提交之一的可移动指针。”
例如,如果用户想向他们的网站添加一个新页面,他们将能够仅为该特定页面创建一个新分支,而不会影响项目的主体。完成后,他可以将分支中的更改合并到主分支中。在新分支的情况下,Git 会跟踪从哪个提交分支。
执行命令后,可以在控制台输入 git branch 来确认分支的创建:
getrekt:myproject getrekt $ git branch
master
* my-new-branch my-new-branch的名字带星号表示用户是哪个分支目前正在开启。
注意:默认情况下,每个 git repo 的第一个分支被命名为“master”(通常用作项目中的 master)。作为打击种族主义的一部分,一些开发人员已经开始为默认分支使用替代名称,例如“primary”。但是,通常情况下,用户可能会看到“master”或类似的名称来指代它。
值得记住的是,几乎每个存储库都有一个 master 分支,可以认为是项目的正式版本。如果是网站,那么分支就是用户看到的版本。如果它是一个应用程序,那么主分支是用户安装在他们的计算机或移动设备上的版本。这就是 Git 和 Github 产品的传统版本控制的工作方式。官方网站有更多关于使用不同默认分支名称的详细文档。信息在 Github 上 https://github.com/github/renaming
恢复到一个项目分支并创建多个提交的情况下,版本控制系统不会跟踪新分支,直到用户编写自动跟踪.
第 6 步创建一个新的 GitHub 存储库
如果您只想在本地跟踪代码,则不需要此步骤。但是如果你在一个团队中工作并接受其他程序员的更改,那么你可以使用 GitHub 的当前能力来共同更改项目代码。要在 GitHub 上创建新的存储库,您需要登录系统并转到该站点的主页。在主菜单中,单击“New Repository”按钮,该按钮位于导航栏右上角个人资料照片旁边的“+”号下方:单击按钮后,GitHub 会询问项目所有者命名存储库并提供简短描述:
接下来,单击“创建存储库”按钮以确认创建新项目。将出现一个对话框,询问用户是要从头开始创建存储库还是添加在本地创建的现有存储库。第二种情况,需要将项目文件夹上传到 Github。
注意力!也可以使用命令行下载本地存储库,更具体地说,命令 git remote add origin github_url(创建与远程存储库的新连接的记录)、git push -u origin master(在开发人员所在的位置和远程服务器上的主分支)。
这是 Git Bash 命令行上日志的样子:
getrekt:myproject getrekt $ git remote add origin https://github.com/cubeton/mynewrepository.git
getrekt:myproject getrekt $ git push -u origin master
计数对象: 3、完成。
写入对象:100% (3/3),263 字节 | 0 字节/秒,完成。
总共 3 个(delta 0),重用 0 个(delta 0)
到 https://github.com/cubeton/mynewrepository.git
* [new branch] master -> master
分支 master 设置为从源跟踪远程分支 master。
第 7 步:将项目分支推送到 GitHub
已创建一个新的项目分支和存储库。它仍然是“推送”分支并将其转移到新的 Github 存储库。这样,第三方社区成员将能够看到代码并对其进行更改。如果修订获得批准,项目所有者可以将更改合并到项目的主版本中。要将更改推送到 GitHub 上的新分支,您需要在命令行输入 git push 命令。 GitHub 会自动在远程仓库中创建一个分支:
getrekt:myproject getrekt$ git push origin my-new-branch
计数对象:3,完成。
使用多达 8 个线程的 Delta 压缩。
压缩对象:100% (2/2),完成。
写入对象:100% (3/3),313 字节 | 0 字节/秒,完成。
总计 3(增量 0),重复使用 0(增量 0)
到 https://github.com/cubeton/mynewrepository.git
* [new branch] my-new-branch -> my-new-branch刷新 GitHub 页面后,用户会看到已经推送到的新分支存储库。
此外
git push origin 命令中的 origin 一词是什么意思?当用户在他们的本地机器上克隆一个远程仓库时,git 在几乎所有情况下都会为它创建一个标准别名,“origin”,它本质上是远程仓库 URL 的简写。向 GitHub 提交项目:https://youtu.be/zM6z57OtR2Q
步骤 8. 创建第一个拉取请求
拉取请求(或拉取请求)是一种提醒存储库所有者开发人员想要对代码进行一些更改的方式。这是添加了拉取请求的页面的样子:
这是创建拉取请求后部分界面的样子:
步骤 9合并拉取请求
底部的绿色“合并拉取请求”按钮创建拉取请求。单击它后,所做的更改将添加到项目的主分支中。
注意力!合并后删除分支。它们中的大量可能会导致项目混乱。要删除分支,请单击右下角灰色的“删除分支”按钮。
要检查提交的当前状态,请单击存储库第一页上的“提交”链接。单击将显示此分支中的整个提交列表。屏幕截图准确地显示了刚刚创建的那个。
右侧是每个提交的哈希码。哈希码是连接 API 和第三方服务时可以使用的唯一标识符。您也可以在命令行中通过桌面版 Git Bash 上的 ID 号来引用特定的提交。
步骤 10在本地机器上恢复 Github 更改
目前,Github 系统中的存储库看起来与本地计算机上的用户略有不同。例如,用户在自己的分支上进行并合并到主分支的提交在本地计算机上不存在。要自动同步项目的不同版本,必须使用 git pull origin master 命令(在 master 分支上工作时)或 git pull。
getrekt:myproject getrekt $ git pull origin master
remote: 计数对象:1,完成。
远程:总计 1(增量 0),重用 0(增量 0),打包重用 0
来自 https://github.com/cubeton/mynewrepository
* 分支 master -> FETCH_HEAD
23242..232433berer3444 master -> origin/master
getrekt。 txt | 1 +
1 个文件更改,1 次插入(+)要检查命令的当前状态,请在命令行中键入 git log。它将列出所有提交。
getrekt:MyProject的getrekt $ git的日志
提交32dgt472hf74yh7734hf747fh373hde7r3heduer73hfhf
合并:3fg4dd 34fg3u7j7
作者:Mtdes伊桑<getrekt@yandex.ru>
时间:周五09月11日17时48分11秒2015年-0400
合并分支/ cubeton / MyNewRepository
提交44hgfh7f74hdu9jt93hf9ifejffe
作者:的Mtdes Ethan <getrekt@yandex.ru>
a 日期:Fri Jan 07 17:48:00 2021 -02 356
提交 46thf9496hf9485hkf857tg9hfj8rh4j
合并:33fh5d 3689gfh
作者:Mtdes of Ethan <getrekt@yandex.ru>
a 日期:Fri Jan 07 17 :51:00 2021 -02356
46thf9496hf9485hkf857tg9hfj8rh4j提交
merge:33fh5d 3689gfh
作者:mtdes的ethan <getrekt@yandex.ru>
日期:星期五:星期五1月07日17:55:00 2021 -02 356
添加了一些更多的文字到up我的文件
提交355904-43hg940fg959hfg0g95jjgdgdfgf57i86f
合并: 343fggdd 53efhgffddg
作者: Mtdes of Ethan < getrekt@yandex.ru>
日期: Fri Jan 07 17:58:00 2021 -02356
这是我的第一次提交!准备好!现在用户已经熟悉了版本控制系统中的各种工作。Git 和 GitHub 初学者教程,介绍如何安装 Git 并开始使用 Github、分支、存储库、提交和 GitHub 实践中的其他概念:https://youtu.be/zZBiln_2FhM
Github 和 Git 的附加功能
让我们看看其他有用的“芯片”,它们将允许开发人员简化版本控制工作。
将存储库克隆到本地计算机
转到您的 GitHub 存储库。在文件列表的右上角,打开“克隆或下载”下拉菜单。复制 HTTPS 克隆 URL。
返回 Git Bash 窗口,输入命令:
git clone repository_url
repository_url – 要克隆的当前项目的 URL。而是插入存储库的 url。
在上面的示例中,该命令通过 HTTPS 克隆存储库。另一种选择是通过 SSH 密钥使用 URL 进行克隆。为此,您需要在 Windows 上生成一个 SSH 密钥对并为 GitHub 帐户分配一个公钥。
查找远程存储库
克隆后,来自 GitHub 的存储库副本应出现在计算机的工作目录中。该项目应包含一个具有名称和主要文件的目录。为了切换到它,您需要编写以下命令:
cd git_project
注意:将 git_project 替换为下载的仓库的实际名称,或者使用 ls 命令指定当前目录的内容。第二种方法用于用户不记得项目名称的情况。
GitHub桌面版——什么是GitHub Desktop,主要功能、特点及安装流程
GitHub Desktop 是一个桌面应用程序,它提供与 GitHub 的基于 GUI 的交互。与 Git 不同,GitHub 的桌面版本允许您通过单击按钮使用用户界面执行相同的命令,这使得使用存储库变得更加容易。
如何安装
- 点击链接 – https://desktop.github.com/
- 开始下载程序的安装包。
- 双击下载文件的图标,继续安装 Github Desktop。
- 通过开始菜单启动程序。
- 使用您的用户帐户详细信息登录 GitHub。
主要功能
- 创建、添加和克隆存储库。
- 使用该程序来管理项目选项卡。
- 对分支进行更改。
- 创建问题、拉取请求和提交。
- 能够访问新产品的早期版本。
Github API
Github REST API 是一个接口,可让开发人员访问 Github 数据、项目和存储库,以及发送服务器请求。链接 https://api.github.com/ 包含您可以发送最简单的 GET 请求的所有 URL:
大多数情况下,开发人员使用 Python 编程语言以 JSON 格式创建请求。首先需要从链接获取仓库的基本信息——https://api.github.com/user/repos 基本信息以JSON格式输入到配置文件中。它包含有关用户的主要参数 – 头像、读者、存储库数量、下载等。然后将该数据传输到服务器。
管理和配置 Github 桌面项目
在安装、注册帐户和设置应用程序后,用户可以开始使用 GitHub 程序。
创建、添加和克隆存储库
要创建新存储库,请选择“文件”并单击“创建存储库”按钮。要添加本地项目,请选择“文件”菜单并单击“添加本地存储库”按钮。对于克隆,您必须选择菜单“文件”-“克隆存储库”。
创建新分支
要创建单独的项目分支,请打开 Current Branch 部分并单击 New Branch 按钮。用户将能够在 GitHub 界面中看到分支并发出拉取请求以跟踪更改。
安全
Github 的桌面版和网页版允许您配置和提高用户帐户的安全级别。“存储的安全设置”部分提供了所有功能。值得更详细地考虑。
安全策略设置
在存储库的主页上,单击:
- “安全”-“安全策略”-“开始安装”。
- 添加有关受支持的项目版本以及如何报告可能的漏洞的信息。
依赖图管理
为所有公共存储库自动生成依赖关系图,但私有存储库没有这样的功能。该图识别所有传出的依赖流,并允许您识别项目中的漏洞。要设置依赖关系图,请单击“设置”-“安全和分析”。在图表的对面,单击“启用”或“禁用”。
许可证
Github 许可提供了两种主要类型的
许可:
- GPL是一种许可类型,它允许其他用户在其他开源项目中使用其他人的工作。但是,商业公司无法做到这一点。
- LGPL/Commons/MIT/Apache等 – 用户免费使用他的代码。其他人可以从中赚钱。