欢迎来到初学者的Git和GitHub!这份综合指南旨在帮助您探索版本控制和协作的世界。
无论您是刚开始的新手还是经验丰富的开发者想要提升技能,这个指南都提供了逐步的方法来理解和有效使用Git和GitHub。
通过本次旅程,您将建立起对Git和GitHub的坚实基础。您将具备实用知识,以简化您的编码工作流程,与团队无缝协作,并为开源项目做出贡献。
那么,让我们开始您的Git和GitHub冒险吧!
(本文视频讲解:java567.com)
目录
- 本指南适用于谁?
- 技术
- 术语
- 什么是 GitHub?
- GitHub 用于什么?
- 使用 Git 时常见的任务
- 如何安装 Git
- 如何配置 Git
- 如何设置默认编辑器
- 如何使用 GitHub 网站创建存储库
- 如何使用 Git 命令行创建存储库
- 如何将本地存储库连接到 GitHub 上的远程存储库
- 如何从远程存储库拉取更改到本地存储库
- 如何使用 Git 命令
- 如何对文件进行更改
- 如何检查当前分支的状态
- 如何暂存更改
- 如何提交更改
- 如何将更改推送到远程存储库
- 如何创建分支
- 如何创建拉取请求
- 如何合并拉取请求
- 总结
这个指南适合谁?
这个指南适合所有希望提升编码技能并熟练使用Git和GitHub的人群。
无论您是:
- 刚开始您的技术生涯并需要学习版本控制的基础知识。
- 一名有志成为开发者并渴望将Git整合到您的工作流程中的初学者。
- 一名经验丰富的程序员,想要更新知识或发现新功能。
- 一位团队领导或经理,有兴趣培养协作文化和高效的代码管理。
无论您的背景或经验如何,这个指南旨在赋予您在编码工作中取得成功所需的工具和知识。
技术要求
在开始之前,请确保:
- 拥有GitHub账户
- 在您的计算机上安装了Git
- 拥有文本编辑器,例如Visual Studio Code
- 在您的计算机上安装了Node.js
术语
在我们开始之前,让我为您解释一些关于Git和GitHub的术语:
- 分支(Branch):代码库的一个版本,与主分支分开,用于隔离特定功能、修复或实验的变更。
- 提交(Commit):您的更改的快照,保存在您的本地仓库中。每个提交都通过校验和唯一标识。
- 暂存(Stage):Git跟踪准备包含在下一个提交中的更改的区域。暂存区中的文件已准备好(暂存)下一个提交。
- 合并(Merge):将一个分支的更改集成到另一个分支的过程,通常是主分支。
- 拉取请求(Pull Request):提议将一个分支的更改合并到另一个分支中,在协作环境中经常用于在合并之前审查和讨论更改。
- 分叉(Fork):别人项目的个人副本,存放在您的GitHub账户上。
- 克隆(Clone):从远程源下载存储库到您的本地计算机的行为。
- 远程(Remote):所有团队成员都使用的公共存储库,用于交换他们的更改。
- 源(Origin):Git给出的克隆来源的默认名称。
- 上游(Upstream):被克隆的原始存储库。
- 主分支(Master):创建存储库时给出的默认分支名称。在现代实践中,通常用主分支(Main)替换。
- 存储库(Repository):项目所在的存储位置,包含所有文件和修订历史记录。
- 工作目录(Working Directory):您正在进行项目更改的计算机目录。
- 暂存区(Staging Area):也称为“索引”,是Git跟踪准备提交的更改的区域。
- 索引(Index):暂存区的另一个名称,Git跟踪准备提交的更改的区域。
- HEAD:当前检出分支中的最后一个提交的引用。
- 检出(Checkout):从一个分支切换到另一个分支或特定提交的操作。
- 推送(Push):将您的提交发送到远程存储库的操作。
- 拉取(Pull):从远程存储库获取更改并将它们合并到当前分支的操作。
- 拉取(Fetch):从远程存储库检索更新而不将其合并到当前分支的操作。
什么是 GitHub?
GitHub 是一个托管代码的平台,提供版本控制和协作功能。它使您和他人可以从世界各地一起共同开发项目。
这个指南将向您介绍一些关键的 GitHub 概念,如存储库、分支、提交和拉取请求。您将学习如何创建自己的 "Hello World" 存储库,并了解 GitHub 的拉取请求工作流程,这是一个广泛使用的创建和审查代码的方法。
通过本指南,您将具备在 GitHub 上有效协作所需的知识和技能。
GitHub 有什么用?
GitHub 不仅仅是一个代码托管平台,它是一个可以实现无缝协作和版本控制的工具。以下是它的一些用途:
- 托管和与他人共享您的代码。
- 跟踪和分配问题以维护有组织的工作流程。
- 管理拉取请求以审查并将更改合并到您的项目中。
- 使用 GitHub Pages 创建自己的网站,这是一个静态站点托管服务。
- 与他人协作开发项目,使其成为贡献开源项目的优秀工具。
什么是 Git?
Git 是一个自由开源的分布式版本控制系统。它设计用于以高速和高效的方式处理从小型到非常大型的项目。
Git 容易学习,占用空间小,性能极快。它凭借廉价的本地分支、便捷的暂存区和多工作流等功能,超越了诸如 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具。
Git 最初是由 Linus Torvalds 为 Linux 内核开发而设计和开发的。
Git 的一些特性/优点:
- 允许您随时间跟踪代码的更改。
- 使您能够与他人共同在同一代码库上进行协作。
- 您可以轻松地返回到代码的先前版本或尝试新功能,而不会影响主代码库。
- 提供您的所有代码更改的记录,包括谁进行了更改以及何时进行的,这对审核和调试非常有用。
您将使用 Git 执行的常见任务
- 创建一个存储库
- 创建一个分支
- 修改文件
- 暂存更改
- 提交更改
- 将更改推送到远程存储库
- 合并更改
- 撤销更改
- 删除一个分支
如何安装 Git
要在本地计算机上安装 Git,您需要按照以下步骤操作:
- 从官方网站下载 Git:Git Downloads
- 按照官方网站上提供的说明在本地计算机上安装 Git:Installing Git
恭喜!您已成功在本地计算机上安装了 Git。您现在可以开始为您的项目使用 Git 了。
如何配置 Git
Git 提供了各种配置选项,可以简化您的工作流程。在本节中,我将指导您完成在本地计算机上设置 Git 的过程。让我们开始吧。
在本地计算机上配置您的姓名和电子邮件地址是设置 Git 的一个关键步骤。这些详细信息将附加到您进行的每个提交中,提供上下文和归属。让我们学习如何使用 git config --global 命令在本地计算机上全局设置您的姓名和电子邮件地址。
要设置您的姓名,您需要在终端中输入以下命令:
# 设置一个可识别的名称,用于在审查版本历史时进行认可
$ git config --global user.name "Your Name"
输入您的姓名后,按 Enter 键保存。您不会收到任何响应,但可以放心,您的姓名已成功存储。
就像我们设置了用户名一样,我们还需要设置用户电子邮件。此电子邮件将与您进行的每个提交相关联。让我们学习如何使用 git config --global 命令在本地计算机上全局设置您的电子邮件。
# 设置与每个历史标记相关联的电子邮件地址
$ git config --global user.email "[email protected]"
请确保将此替换为您在 GitHub 账户中使用的实际电子邮件。
现在,我们已经完成了为 Git 和 GitHub 设置您的用户名和电子邮件的操作,让我们验证一切是否已正确配置。
要执行此操作,请使用以下命令:
git config --global --list .
此命令将在控制台中列出正在使用的用户名和电子邮件,以供您查看。
您应该在终端中看到一些信息显示。
如何设置默认编辑器
在现代开发中,拥有一个代码编辑器可以极大地简化您的工作流程,特别是当您专注于编码时。
现在,让我们看看如何通过以下命令配置 Git 来使用默认编辑器:
# 设置 Git 的默认编辑器
$ git config --global core.editor "code --wait"
恭喜!您已成功在本地计算机上配置了 Git。您现在可以开始为您的项目使用 Git 了。
如何使用 GitHub 网站创建存储库
创建存储库是使用 Git 的第一步。存储库是一个存储位置,您的项目存放在其中,包含所有文件和修订历史记录。
在本节中,我将指导您完成在 GitHub 上创建存储库的过程。
有两种方法可以创建存储库:使用 GitHub 网站或命令行。让我们开始吧。在本节中,我们将重点介绍如何使用 GitHub 网站和命令行创建存储库。
在登录您的 GitHub 账户后,您可以按照以下步骤创建一个新的存储库:
-
点击页面右上角的 + 号,从下拉菜单中选择 New Repository。
-
您将被重定向到一个新页面,在这里您可以填写新存储库的详细信息。您需要输入以下信息:
- 存储库名称:这是您的存储库的名称。它应该是唯一的且具有描述性。
- 描述:存储库的简要描述。
- 公开或私有:您可以选择将您的存储库设置为公开或私有。公开存储库对所有人可见,而私有存储库仅对您和您分享的人可见。
- 使用 README 初始化此存储库:您可以选择使用 README 文件初始化您的存储库。如果您想提供关于您的项目的信息或使用说明,这会很有用。
- 填写完详细信息后,点击创建存储库按钮创建您的新存储库。
恭喜!您已成功在 GitHub 上创建了一个新的存储库。现在,您可以开始添加文件并对存储库进行更改。
接下来,让我们使用命令行创建一个存储库。
如何使用 Git 命令行创建存储库
要使用命令行创建一个新的存储库,您需要按照以下步骤操作:
- 打开您的终端并导航到您想要创建新存储库的目录。
- 使用 git init 命令创建一个新的存储库。此命令将在当前目录中创建一个名为 .git 的新目录,其中包含您的存储库所需的所有文件。
# 初始化名为 my-project 的新存储库
$ git init my-project
- 创建了新的存储库后,您可以开始向其中添加文件并对其进行更改。您还可以按照 GitHub 网站上提供的说明,将本地存储库连接到 GitHub 上的远程存储库。
恭喜!您已成功使用命令行创建了一个新的存储库。
现在我们已经成功使用 GitHub 网站和命令行创建了一个存储库 - 但是我们如何连接它们呢?现在让我们学习如何将本地存储库连接到 GitHub 上的远程存储库。
如何将本地存储库连接到 GitHub 上的远程存储库
要将本地存储库连接到 GitHub 上的远程存储库,您需要按照以下步骤操作:
-
在 GitHub 上,导航到您之前创建的存储库的主页面。
-
点击 Code 按钮复制您存储库的 URL。
-
在您的终端中,导航到本地存储库的目录。
-
使用 git remote add origin 命令将本地存储库连接到 GitHub 上的远程存储库。用您存储库的 URL 替换 repository-URL。
$ git remote add origin repository-url
- 连接了本地存储库到 GitHub 上的远程存储库后,您可以开始使用 git push 命令将更改推送到远程存储库。
恭喜!您已成功将本地存储库连接到 GitHub 上的远程存储库。
如何从远程存储库拉取更改到本地存储库
要从远程存储库拉取更改到本地存储库,您需要按照以下步骤操作:
- 在您的终端中,导航到本地存储库的目录。
- 使用 git pull 命令将更改从远程存储库拉取到本地存储库。
$ git pull origin main
之后,使用以下命令导航到主分支:
$ git checkout main
恭喜!您已成功从远程存储库拉取更改到本地存储库。您的本地存储库现在已与 GitHub 上的远程存储库保持同步*。
如何使用 Git 命令
在本节中,我们将介绍一些最常用的 Git 命令及其功能。这些命令将帮助您在 GitHub 存储库中的 Git 工作流程中导航。让我们开始吧。
首先,我将添加一些文件,以便我们可以开始使用 Git 命令。
如何对文件进行更改
要对 Git 中的文件进行更改,您需要按照以下步骤操作:
- 打开您的终端并导航到本地存储库的目录。
- 使用文本编辑器对文件进行更改。例如,您可以使用 code 命令在 Visual Studio Code 中打开文件。
$ code file-name # 例如,code index.html
- 在进行更改后,保存文件并关闭文本编辑器。
恭喜!您已成功对本地存储库中的文件进行了更改。接下来,让我们继续下一步:暂存更改。
Visual Studio Code (VS Code) 包含一个源代码控制功能,允许您直接与 GitHub 存储库交互。此功能支持各种操作,包括暂存、提交、推送和拉取更改。
除了源代码控制功能外,您还可以使用 VS Code 中集成的终端与您的 GitHub 存储库交互。
当前,如果您查看 VS Code 中的源代码控制部分,您将看到我们添加的文件列在更改列表中。
接下来,让我们探索如何使用终端与我们的 GitHub 存储库交互。
打开您的终端并导航到本地存储库的目录。
现在,让我们使用 git status 命令检查当前分支的状态。
如何检查当前分支的状态
git status 命令显示当前分支的状态,包括对存储库中文件所做的任何更改。它提供有关哪些文件已被修改、哪些文件已被暂存以及哪些文件未被跟踪的信息。
这个命令对于了解存储库的当前状态以及确定哪些文件需要暂存和提交是非常有用的。
# 检查当前分支的状态
$ git status # 在主分支上
您可能会注意到文件的部分内容以不同的颜色突出显示。红色表示文件已被修改,而绿色表示文件已被添加到暂存区。
当前,所有文件应该都以红色突出显示,因为我们还没有将任何文件添加到暂存区。
让我们使用 git add 命令将文件添加到暂存区。
如何暂存更改
git add 命令将文件添加到暂存区,为下一次提交做准备。您可以使用 git add . 命令将当前目录中的所有文件添加到暂存区。
如果要添加特定文件,请使用 git add
# 将文件添加到暂存区
$ git add . # 要提交的更改:
或
$ git add 文件名 # 要提交的更改:
您可以将其类比为这样:上车就像将文件添加到暂存区,而开车就像进行提交。
现在,让我们使用 git commit 命令将更改提交到当前分支。
如何提交更改
git commit 命令将更改提交到当前分支。您可以使用 -m 标志向您的提交添加消息。这个消息应该提供您所做更改的简要摘要。
例如,"Initial commit" 可以是您的提交消息。此命令用于将更改保存到本地存储库。
# 将更改提交到当前分支
$ git commit -m "提交消息" # 例如,git commit -m "Initial commit"
我们已成功将更改提交到当前分支。接下来,我们将使用 git push 命令将这些更改推送到 GitHub 上的远程存储库。
如何将更改推送到远程存储库
git push 命令将您的本地存储库中的更改推送到 GitHub 上的远程存储库。您可以使用 git push 命令将您的本地存储库中的更改推送到 GitHub 上的远程存储库。这个过程对于使用本地所做的更改更新远程存储库是很重要的。
# 将更改推送到远程存储库
$ git push origin main # 例如,git push origin master
恭喜!您已成功将更改推送到 GitHub 上的远程存储库。您现在可以在 GitHub 网站上查看您的更改。
既然我们已成功将更改推送到 GitHub 上的远程存储库,让我们继续进行下一步:创建一个分支。
根据您的计算机环境,您的本地存储库可能具有一个名为 main 或 master 的默认分支。在本指南中,我们将使用 main 作为默认分支名称,与 GitHub 最近从 master 更改为 main 一致。
在我们开始添加文件之前,让我们确保我们的本地存储库与远程存储库保持同步,以拉取任何更改。
如果术语分支听起来很陌生,不用担心。在下一节中,我们将介绍如何创建分支以及如何从远程存储库中拉取更改到本地存储库。
如何创建分支
分支是 Git 中的一个基本概念。它允许您偏离主开发线并继续工作,而不会影响主代码库。
在本节中,我将指导您使用 git branch 命令创建一个新分支。这个命令创建一个新分支,但不切换到它。在下面的步骤中,我们还将涵盖如何使用 git checkout 命令切换到您新创建的分支。让我们开始吧。
要创建一个新分支,您需要按照以下步骤操作:
- 打开您的终端并导航到您本地存储库的目录。
- 使用 git branch 命令创建一个新分支。用您新分支的名称替换
。
# 创建一个新分支
$ git branch <branch-name> # 例如,git branch feature-branch
git branch 命令创建一个新分支,但不会切换到它。要切换到您新创建的分支,请使用 git checkout 命令。
# 切换到新创建的分支
$ git checkout <branch-name> # 例如,git checkout feature-branch
git checkout 命令用于从一个分支切换到另一个分支。用您新分支的名称替换
# 删除分支
$ git branch -d <branch-name> # 例如,git branch -d feature-branch
git branch -d 命令用于删除分支。用要删除的分支名称替换
恭喜!您已成功创建一个新分支并切换到它。您现在可以开始向您的新分支添加文件并进行更改。
现在您知道如何创建 GitHub 存储库,将本地存储库连接到 GitHub 上的远程存储库,将更改从远程存储库拉取到本地存储库,使用 Git 命令工作以及创建分支。
让我们继续进行下一节,我们将介绍如何创建一个拉取请求。这是协作工作流程中的关键步骤,因为它允许您提出更改并请求其他协作者进行审查。
如何创建拉取请求
拉取请求是将一个分支的更改合并到另一个分支的提议。这是一种广泛使用的创建和审查代码的方法。在本节中,我将指导您使用 GitHub 网站创建拉取请求的过程。
例如,假设您有一个名为 feature-branch 的分支,您想要将其合并到主分支中。我们将指导您完成此场景下创建拉取请求的过程。让我们开始吧。
首先,让我们通过向我们的特性分支添加一个文件来进行更改:
$ git checkout feature-branch
您应该在终端中看到类似以下内容:
git checkout feature-branch
切换到一个新分支 'feature-branch'
分支 'feature-branch' 设置为跟踪 'origin/feature-branch'。
现在,让我们向特性分支添加一个文件。
$ touch feature-branch-file.txt
运行该命令后,您应该在您的目录中看到一个名为 feature-branch-file.txt 的新文件。
touch 命令用于创建一个新文件。将 feature-branch-file.txt 替换为您文件的名称。在这种情况下,我们创建了一个名为 feature-branch-file.txt 的新文件。
现在,让我们向该文件添加一些内容。
$ echo "这是特性分支中的一个文件" >> feature-branch-file.txt
此命令将文本 "这是特性分支中的一个文件" 添加到 feature-branch-file.txt 文件中。
echo 命令用于向文件添加内容。在这种情况下,我们向 feature-branch-file.txt 文件中添加了文本 "这是特性分支中的一个文件"。
现在我们已经在文件中添加了一些文本,让我们将更改暂存并提交到特性分支。
$ git add .
git add . 命令将当前目录中的所有更改都添加到暂存区。
$ git commit -m "向特性分支添加文件"
git commit -m 命令将更改提交到当前分支。将 "向特性分支添加文件" 替换为您自己的描述性消息。该消息应提供您所做更改的简要摘要。在这种情况下,我们将更改提交到特性分支。
现在,让我们将更改推送到 GitHub 上的远程存储库。
$ git push origin feature-branch
git push 命令用于将本地存储库中的更改推送到 GitHub 上的远程存储库。将 feature-branch 替换为您的分支名称。在这种情况下,我们将更改推送到 feature-branch 分支。
恭喜!您已成功将更改推送到 GitHub 上的远程存储库。您现在可以在 GitHub 网站上查看您的更改。
现在,当您打开您的 GitHub 存储库时,您应该会看到一个消息,指示您最近推送了一个新分支。您可以单击 "比较并拉取请求" 按钮来为特性分支创建一个拉取请求。
点击 "比较并拉取请求" 按钮后,您将被引导到一个新页面,在该页面中,您可以填写拉取请求的详细信息。
您需要输入以下信息:
- 标题:拉取请求的简要摘要。
- 描述:拉取请求的详细描述,包括您所做更改的信息以及为何做出这些更改的原因。
- 审阅者:您可以选择从特定的合作者那里请求审阅。
- 指派人:您可以选择将您的拉取请求指派给特定的合作者。
- 标签:您可以选择为您的拉取请求添加标签以对其进行分类。
- 项目:您可以选择将您的拉取请求添加到项目板中。
- 里程碑:您可以选择将您的拉取请求添加到里程碑中。
您可以选择填写拉取请求的详细信息或直接创建拉取请求。创建拉取请求后,您可以在 GitHub 网站上查看它。您还可以向特定的合作者请求审阅,并在需要时对拉取请求进行更改。
一旦您的拉取请求已经被审阅并获得批准,您就可以将其合并到主分支中。在我们的情况下,我们不会填写表单,而是直接创建拉取请求。
如何合并拉取请求
合并拉取请求意味着将一个分支的更改集成到另一个分支中,通常是主分支。这一步在协作工作流程中至关重要,它使修改能够被整合到主要代码库中。
在本节中,我们将通过 GitHub 网站来了解合并拉取请求的过程。
创建拉取请求后,您可以按照以下步骤将其合并到主分支中:
- 在 GitHub 上,导航到您创建拉取请求的存储库的主页面。
- 单击“Pull requests”选项卡,以查看拉取请求的列表。
- 单击您要合并的拉取请求。
- 单击“Merge pull request”按钮将拉取请求合并到主分支中。
- 单击“Confirm merge”按钮确认合并。
之后,您应该会看到一条消息,指示拉取请求已成功合并。您也可以在合并拉取请求后删除该分支。
现在,您已成功将拉取请求合并到主分支中。您现在可以删除 feature-branch 分支,因为它不再需要了。
总结
在本指南中,我们深入探讨了 Git 和 GitHub 的核心概念,为您提供了对版本控制和协作实践的深入理解。
我们已经了解了一些重要的 Git 操作,包括设置存储库、将本地存储库链接到 GitHub 上的远程存储库、同步本地和远程存储库之间的更改、执行 Git 命令、分支、发起拉取请求以及合并这些请求。
掌握这些原则将极大地增强您的编码工作流程,促进团队之间的无缝协作,并使您能够为开源项目做出有意义的贡献。
我相信这个指南已经为您灌输了知识和信心,让您在编程之旅中取得成功,并开始为开源项目做出贡献。
(本文视频讲解:java567.com)
标签:存储,Git,更改,GitHub,git,初学者,分支 From: https://www.cnblogs.com/web-666/p/18120620