教程:进行您的首次 Git 提交

本教程将教您一些关于 Git 如何工作的知识。它将引导您完成创建自己的项目、编辑文件以及从命令行提交更改到 Git 仓库的步骤。

完成后,您将拥有一个可以练习使用 Git 的项目。

在您开始之前#

  1. 在本地机器上安装 Git
  2. 确保您可以登录到极狐 GitLab 的一个实例。如果您的组织没有极狐 GitLab,请在 JihuLab.com 上创建一个账户。
  3. 创建 SSH 密钥并将其添加到极狐 GitLab。SSH 密钥是您在计算机和极狐 GitLab 之间安全通信的方式。

什么是 Git?#

在我们开始步骤之前,让我们先了解一些基本的 Git 概念。

Git 是一个版本控制系统。它用于跟踪文件的更改。

您将文件(例如代码或文档)存储在 Git 仓库中。当您想编辑文件时,您克隆仓库到您的计算机,进行更改,然后将您的更改推送回仓库。在极狐 GitLab 中,Git 仓库位于一个项目中。

每次您推送更改时,Git 都会将其记录为一个唯一的提交。这些提交构成了文件更改的历史记录,包括何时、如何以及由谁更改。

Rendering chart...

当您在 Git 仓库中工作时,您是在分支中工作。默认情况下,仓库的内容位于默认分支中。要进行更改,您需要:

  1. 创建您自己的分支,它是您创建时默认分支的快照。
  2. 进行更改并推送到您的分支。每次推送都会创建一个提交。
  3. 当您准备好时,将您的分支合并到默认分支中。
Rendering chart...

如果这一切让您感到有些不知所措,请坚持下去。您即将看到这些概念的实际应用。

步骤#

以下是我们将要做的概述:

  1. 创建一个示例项目
  2. 克隆仓库
  3. 创建分支并进行更改
  4. 提交并推送您的更改
  5. 合并您的更改
  6. 在极狐 GitLab 中查看您的更改

创建一个示例项目#

首先,在极狐 GitLab 中创建一个示例项目。

  1. 在极狐 GitLab 的左侧边栏顶部,选择 创建新项目 () 和 新项目/仓库
  2. 对于 项目名称,输入 My sample project。项目缩略名将为您生成。该缩略名是创建项目后可以用来访问项目的 URL。
  3. 确保选择 用 README 初始化仓库。其他字段的填写取决于您。
  4. 选择 创建项目

克隆仓库#

现在您可以克隆项目中的仓库。克隆仓库意味着您在计算机上创建一个副本,或者在您想存储和处理文件的任何地方创建副本。

  1. 在项目概览页面的右上角,选择 代码,然后复制 通过 SSH 克隆 的 URL。

    红色箭头指示页面右上角的“克隆”按钮和“通过 SSH 克隆”选项

  2. 在计算机上打开终端并进入您希望克隆文件的目录。

  3. 输入 git clone 并粘贴 URL:

    shell
    git clone git@gitlab.com:gitlab-example/my-sample-project.git
  4. 进入目录:

    shell
    cd my-sample-project
  5. 默认情况下,您已克隆仓库的默认分支。通常此分支是 main。要确定,请获取默认分支的名称:

    shell
    git branch

    您所在的分支将用星号标记。 按下键盘上的 Q 键以返回主终端窗口。

创建分支并进行更改#

现在您有了仓库的副本,请创建您自己的分支,以便您可以独立进行更改。

  1. 创建一个名为 example-tutorial-branch 的新分支。

    shell
    git checkout -b example-tutorial-branch
  2. 在文本编辑器中(如 Visual Studio Code、Sublime、vi 或其他编辑器)中打开 README.md 文件并添加以下文本:

    plaintext
    Hello world! I'm using Git!
  3. 保存文件。

  4. Git 会跟踪更改的文件。要确认哪些文件已更改,请获取状态。

    shell
    git status

    您应该会得到类似以下的输出:

    shell
    1On branch example-tutorial-branch 2Changes not staged for commit: 3(use "git add <file>..." to update what will be committed) 4(use "git restore <file>..." to discard changes in working directory) 5modified: README.md 6 7no changes added to commit (use "git add" and/or "git commit -a")

提交并推送您的更改#

您已在仓库的文件中进行了更改。现在是时候通过提交来记录这些更改了。

  1. README.md 文件添加到暂存区。暂存区是您在提交文件之前放置文件的地方。

    shell
    git add README.md
  2. 确认文件已暂存:

    shell
    git status

    您应该会得到类似以下的输出,文件名应为绿色文本。

    shell
    On branch example-tutorial-branch Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: README.md
  3. 现在提交暂存文件,并包括描述您所做更改的消息。确保将消息用双引号(")括起来。

    shell
    git commit -m "I added text to the README file"
  4. 更改已提交到您的分支,但您的分支及其提交仍然只能在您的计算机上访问。其他人尚无权访问它们。将您的分支推送到极狐 GitLab:

    shell
    git push origin example-tutorial-branch

您的分支现在在极狐 GitLab 上可用,并且在您的项目中对其他用户可见。

在页面的左上角,红色箭头指示分支切换区域并突出显示您创建的分支

合并您的更改#

现在您准备好将 example-tutorial-branch 分支的更改合并到默认分支(main)了。

  1. 检出您仓库的默认分支。

    shell
    git checkout main
  2. 将您的分支合并到默认分支。

    shell
    git merge example-tutorial-branch
  3. 推送更改。

    shell
    git push
在本教程中,您直接将分支合并到仓库的默认分支。在极狐 GitLab 中,您通常使用 [合并请求](../../user/project/merge_requests/_index.md) 来合并您的分支。

在极狐 GitLab 中查看您的更改#

您做到了!您更新了 README.md 文件,并将这些更改合并到 main 分支中。

让我们在 UI 中查看并确认您的更改。进入您的项目。

  • 向下滚动并查看 README.md 文件的内容。您的更改应该是可见的。

  • README.md 文件的上方,查看 最后提交 列中的文本。您的提交消息显示在此列中:

    在“最后提交”列中显示提交消息,并在“最后更新”列中显示更新时间

现在您可以返回命令行并切换回您的个人分支(git checkout example-tutorial-branch)。您可以继续更新文件或创建新文件。输入 git status 以查看更改的状态,并随心所欲地提交。

如果您搞砸了,不要担心。Git 中的所有内容都可以恢复,如果您发现无法恢复,可以随时创建一个新分支并重新开始。

干得好。