Skip to main content

开始使用 Git

通过操作示例方案了解 Git 的基础知识。

你是否曾希望有一台用于代码的时间机器? Git 正好可以满足你的需要,而且还能为你提供更多!

如果你还不了解 Git:它是一个版本控制系统,可帮助跟踪代码的更改。 可以在某个特定时间点保存项目的快照,然后进行试验性更改,而不会给项目带来风险,因为始终可以返回快照。

GitHub 本身是一个围绕 Git 构建的平台,可让你将 Git 项目保存到云中,并与其他开发人员一起处理它们。

虽然 Git 可能比较复杂,但却是能够为开发人员提供必要功能的强大工具。 本文将介绍在日常工作流程中使用 Git 所需的所有工具。

先决条件

若要遵循本教程,需要 安装 Visual Studio Code

通过 GitHub Desktop 学习 Git 基础知识

对于标准 Git 操作,我们建议 GitHub Desktop使用一个应用,它允许你直观地与 Git 交互,而不是通过书面命令进行交互。 在本节中,我们将学习如何使用 GitHub Desktop 快速执行最常见的 Git 操作。

设置 GitHub Desktop

如果这是你第一次使用 GitHub Desktop,则需要安装并连接帐户 GitHub 。

  1. 下载 GitHub Desktop
  2. 打开 GitHub Desktop,然后单击“ 登录” GitHub.com 并授权 GitHub Desktop 访问你的帐户。
  3. 返回到 GitHub Desktop,单击“完成”。 这会将 GitHub 帐户中的姓名和电子邮件添加到 Git。

创建本地存储库

现在,可以通过创建一个存储库**** 来迈出使用 Git 的第一步。 将存储库视为用于跟踪更改和存储历史记录的项目文件夹。 首先,创建本地**** 存储库:

  1. 在 GitHub Desktop中,单击 “在本地驱动器上创建新存储库”。

  2. 将存储库命名为 learning-git

  3. 选择“用README初始化此存储库”以自动创建一个空白文件。

    提示

    标准做法是在项目中包括 README.md 文件(也称为 README 文件)。 自述文件通常包含信息,帮助他人了解、设置和运行您的项目。

  4. 单击“创建存储库”。

创建远程存储库

刚创建的本地存储库位于计算机上。 现在,让我们为同一项目创建一个远程仓库,并将其托管在GitHub上。 通过链接远程存储库,可以更轻松地协作处理和备份工作。

  1. 在 GitHub Desktop中,单击 “发布存储库”。
  2. ** **在显示的弹出窗口中,再次单击“Publish repository”。
  3. 要查看远程仓库,请点击“在 GitHub 上查看”。

设置空间以进行更改

创建存储库后,现在来了解分支。 分支本质上是项目的副本,可以在其中测试更改,而不会影响现有工作的稳定性。

存储库是使用 main 分支自动创建的,可以将其视为项目的稳定主版本。 例如,在网站的存储库中,main 分支对应于访问者可看到的站点。

创建新分支时,将创建一个安全空间来处理新功能,而不会影响主版本。 你和协作者可使用不同的分支同时处理多个功能。

现在创建一个分支来处理存储库中的更改:

  1. 在 GitHub Desktop中,选择“Current Branch”下拉菜单,然后点击“新建分支”。
  2. 将新分支命名为 readme-updates,然后单击“Create Branch****”。

保存项目的快照

要将进度保存到分支,请执行提交****。 一次提交是指在特定时间点拍摄的项目的快照。 实际上,你已经进行了第一次提交:使用自述文件初始化项目时, GitHub Desktop 会自动创建初始提交以添加 README.md 文件。

每当完成一个工作区块并希望保存时,都应提交。 完成后,无论将来做了多少更改,你总是可以返回到那个时间点。

  1. 在 GitHub Desktop 中,单击“在 Visual Studio Code 中打开”。

  2. 在 VS Code 中,将以下文本粘贴到 README.md 中,并保存更改:

    Markdown
    Hello, World!
    
    This is a demo project for learning how to use Git.
    
  3. 回到 GitHub Desktop 后,你将看到你刚刚对 README 所做的更新。 在左下角你的GitHub个人资料图片旁边,在文本框中输入“Update README”。 这称为提交消息****,有助于跟踪每次提交中所做的更改。

  4. 若要进行提交,请单击“Commit to readme-updates”****。

将更改引入主分支

对分支上所做的更改感到满意后,可将分支发布到远程存储库并创建拉取请求****。 通过拉取请求可查看一组建议的更改,然后将这些更改从一个分支合并到另一个分支。 在本例中,我们将创建一个拉取请求,以将我们在 readme-updates 中所做的更改合并到我们的原始分支 main 中。

  1. 单击“Publish branch”****,将 readme-updates 分支与更改一起推送到远程存储库。

  2. ** **要查看建议的更改,单击“Preview Pull Request”。

  3. 单击Create Pull Request

  4. 在出现的 GitHub 窗口中,将拉取请求标题更改为“向 README 添加一条消息”,然后在评论框中简要说明你所做的更改。

  5. 单击“创建拉取请求”****。

  6. 要将更改合并到 main 分支,请在页面底部单击“合并拉取请求 ****”。

    注意

    与其他开发人员协作处理项目时,一个标准做法是在合并拉取请求之前让其他人审阅你的拉取请求。

  7. 在页面底部附近,单击“删除分支”。 删除已合并到 main 的分支有助于保持存储库干净、便于导航。

准备进行更多更改

祝贺你合并了你的第一个 Pull Request! 现在你已成功将更改引入 main 分支,接下来需要完成一些步骤以准备下一轮更改:

  1. 在GitHub Desktop中,如果当前不在main分支上,请选择当前分支下拉菜单,然后点击main

    大多数时候,在创建新分支前应切换回 main 分支,因为新分支是作为当前所选分支的副本创建的。

  2. 若要检查远程 main 分支是否已发生任何更改,请单击“Fetch origin****”。

  3. 最后,若要使用远程 main 分支的更改更新本地 main 分支,请单击“Pull origin****”。

现在你已拥有在项目上设置和使用 Git 所需的所有技能!

在命令行上深入了解 Git

GitHub Desktop 旨在满足日常 Git 需求。 随着你作为开发人员的不断成长,你可能会遇到一些不常见的情况:你希望更强地控制 Git 操作或需要使用更复杂的命令。 在这类情况下,需要转换为在命令行上使用编写的 Git 命令。

配置您的命令行环境

在开始使用命令行之前,需要设置一些工具。

  1. 在 GitHub Desktop命令行上按 Ctrl+` 打开项目。

  2. 如果使用 Windows,安装 Git。 如果是 macOS 和 Linux,将默认安装 Git。

  3. GitHub CLI安装该命令,可让你从命令行快速执行GitHub相关操作。

  4. 若要从 GitHub 向 GitHub CLI 进行身份验证,请运行以下命令:

    Shell
    gh auth login
    

    选择进行身份验证 GitHub.com,然后按照屏幕上的提示进行操作。

  5. 安装 GitHub Copilot 命令行界面 (CLI),以便可以从命令行使用 Copilot 。 请参阅“安装 GitHub Copilot CLI”。

试验复杂命令

安装好后,现在来了解如何查找和了解将来可能要用到的命令。 例如,假设你看到有人在线提及 git blame,但你不知道其作用。 尝试用以下命令让 Copilot 解释一下:

Shell
gh copilot explain "git blame"

Copilot 会告诉我们,git blame 会提供某个文件的详细历史记录,显示文件中每一行最后一次修改它的作者和提交记录。 使用以下命令自行尝试:

Shell
git blame README.md

这是一个非常实用的工具,但正如你所想象的,文件的 blame 信息可能会变得非常冗长。 假设你只对文件中特定行的最新更新感兴趣。 可以要求 Copilot 生成正确的命令:

Shell
gh copilot suggest "Show me the blame for line 1 of README.md"

当询问要查找的命令类型时 Copilot ,请使用箭头键选择 git 命令,然后按 Enter。 Copilot 随后会建议使用以下命令:

Shell
git blame -L 1,1 README.md

使用箭头键选择“Execute command”****,然后按 Enter。 随即会显示上次修改 README.md 第 1 行的作者和提交信息。

审阅和后续步骤

在本文中,我们介绍了 Git GitHub Desktop的基础知识,其中介绍了以下重要术语:

  • 存储库****:用于保存对项目中文件所做的所有更改的文件夹。
  • 提交:特定时间点的项目快照。
  • 分支:项目的一份副本,可以用来处理一组更改。
  • 拉取请求:将更改从一个分支合并到另一个分支的请求。

本文还探讨了如何在命令行上执行更复杂的 Git 操作。 其中尝试了 gh copilot explaingh copilot suggest,以了解和查找新的命令和功能。

现在,请尝试将学到的内容应用于自己的工作。 通过GitHub Desktop按 Ctrl+O(Windows/Linux)或命令+O(Mac)将 Git 添加到现有项目,并自行体验版本控制的优势!