跳至主要内容

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,然后点击Sign in to GitHub.com(登录 GitHub.com),并授权 GitHub Desktop 访问你的账户。
  3. 返回 GitHub Desktop,点击Finish(完成)。这会将你 GitHub 账户中的姓名和邮箱添加到 Git 中。

创建本地仓库

现在,你可以通过创建仓库来迈出 Git 的第一步。把仓库想象成一个跟踪变更并保存历史的项目文件夹。首先,我们将创建一个本地仓库。

  1. 在 GitHub Desktop 中,点击Create a New Repository on your Local Drive(在本地磁盘上创建新仓库)。

  2. 将仓库命名为learning-git

  3. 选中Initialize this repository with a README(使用 README 初始化此仓库),即可自动创建一个空的README.md文件。

    提示

    在项目中包含README.md文件(即 README)是标准做法。README 通常包含帮助他人了解、配置和运行项目的信息。

  4. 点击 创建仓库

创建远程仓库

你刚创建的本地仓库位于电脑上。现在,让我们为同一项目创建一个远程仓库,托管在 GitHub 上。关联远程仓库可让协作和备份工作更便捷。

  1. 在 GitHub Desktop 中,点击Publish repository(发布仓库)。
  2. 在弹出的窗口中,再次点击Publish repository(发布仓库)。
  3. 要查看你的远程仓库,点击View on GitHub(在 GitHub 上查看)。

创建修改空间

既然已创建仓库,接下来谈谈分支。分支本质上是项目的副本,你可以在其中测试更改,而不会影响现有工作的稳定性。

仓库默认会创建一个main分支,你可以把它视为项目的稳定主版本。例如,在网站仓库中,main分支对应访客可访问的站点。

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

让我们创建一个分支来处理仓库中的更改

  1. 在 GitHub Desktop 中,选择 Current Branch(当前分支)下拉菜单,然后点击New Branch(新建分支)。
  2. 将新分支命名为readme-updates,然后点击Create Branch(创建分支)。

保存项目快照

要将进度保存到分支,需要进行一次提交。提交是对项目在特定时间点的快照。其实你已经完成了第一次提交:在使用 README 初始化项目时,GitHub Desktop 自动创建了一个初始提交,添加了README.md文件。

每当完成一段想要保存的工作时,都应进行一次提交。这样,无论以后做了多少更改,都可以随时回到该时间点。

  1. 在 GitHub Desktop 中,点击Open in Visual Studio Code(在 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)。

将你的更改合并到主分支

当对分支上的更改满意后,你可以将分支推送到远程仓库并创建一个pull request(拉取请求)。拉取请求让你审查一组提议的更改,然后将其从一个分支合并到另一个分支。此处,我们将创建一个拉取请求,将readme-updates中的更改合并回原始分支main

  1. 点击Publish branch(发布分支),将带有更改的readme-updates分支推送到远程仓库。

  2. 要审查你的建议更改,点击Preview Pull Request(预览拉取请求)。

  3. 点击Create Pull Request(创建拉取请求)。

  4. 在弹出的 GitHub 窗口中,将拉取请求标题改为“Add a message to the README”(向 README 添加说明),并在评论框中简要描述你的更改。

  5. 点击 创建拉取请求

  6. 要将更改合并到main分支,页面底部点击Merge pull request(合并拉取请求)。

    注意

    在多人协作的项目中,合并前通常会请其他人审查你的拉取请求,这是一种标准做法。

  7. 在页面底部附近,点击Delete branch(删除分支)。删除已合并到main的分支有助于保持仓库整洁、易于导航。

准备进行更多更改

恭喜完成首次拉取请求的合并!现在你已成功将更改合并到main分支,以下是准备下一轮更改的几个步骤。

  1. 在 GitHub Desktop 中,如果你不在main分支,选择 Current Branch(当前分支)下拉菜单,然后点击main

    在创建新分支前,你几乎总是应该切换回main分支,因为新分支是基于当前选中分支的副本创建的。

  2. 要检查远程main分支是否有更新,点击Fetch origin(获取最新)。

  3. 最后,点击Pull origin(拉取),将远程main分支的更改同步到本地main分支。

现在,你已经掌握在项目中设置和使用 Git 所需的全部技能!

深入了解命令行上的 Git

GitHub Desktop 旨在满足日常 Git 需求。随着你成长为开发者,可能会遇到需要对 Git 操作进行更细致控制或使用更复杂命令的情况。此时,你需要改用在命令行中输入 Git 命令。

设置命令行环境

在使用命令行前,需要先安装几项工具。

  1. 在 GitHub Desktop 中,按 Ctrl+` 打开项目的命令行窗口。

  2. 如果你使用 Windows,请安装 Git。macOS 和 Linux 默认已经安装 Git。

  3. 安装 GitHub CLI,它让你可以在命令行快速执行与 GitHub 相关的操作。

  4. 要通过 GitHub CLI 进行 GitHub 认证,请运行以下命令

    Shell
    gh auth login
    

    选择使用GitHub.com进行认证,然后按照屏幕提示操作。

  5. 安装 GitHub Copilot CLI,以便在命令行使用 Copilot。参见Installing GitHub Copilot CLI(安装 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 command,然后按 Enter。Copilot 将建议以下命令。

Shell
git blame -L 1,1 README.md

使用方向键选择Execute command(执行命令),然后按 Enter。你将看到修改README.md第 1 行的作者和提交。

回顾与后续步骤

本文中,我们介绍了使用 GitHub Desktop 的 Git 基础,学习了如下重要术语:

  • Repository(仓库):一个保存项目中所有文件更改的文件夹。
  • Commit(提交):项目在特定时间点的快照。
  • Branch(分支):项目的副本,可在其中进行一系列更改。
  • Pull request(拉取请求):将一个分支的更改合并到另一个分支的请求。

我们还讨论了在命令行上执行更复杂的 Git 操作。我们尝试了 gh copilot explaingh copilot suggest 来理解并发现新的命令和功能。

现在,尝试将所学应用到自己的项目中。使用 GitHub Desktop 按 Ctrl+O(Windows/Linux)或 Command+O(Mac)为已有项目添加 Git,亲身体验版本控制的优势!

© . This site is unofficial and not affiliated with GitHub, Inc.