进行第一次 Git 提交

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

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

您需要什么#

在您开始之前:

什么是 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 中,在左侧导航栏,在顶部,选择 创建新的 ({plus}) 并点击 新项目/仓库
  2. 对于 项目名称,输入 My sample project。为您生成项目标识串。此标识串是您可以在创建项目后用来访问项目的 URL。
  3. 确保选中 使用自述文件初始化仓库,其它字段取决于您。
  4. 选择 创建项目

克隆仓库#

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

  1. 在您的项目页面上,选择克隆。复制 使用 SSH 克隆 的 URL。

    Clone a project with 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 上可用,并且对您项目中的其他用户可见。

Branches dropdown list

合并您的更改#

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

  1. 查看仓库的默认分支。

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

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

    shell
    git push

NOTE: 对于本教程,您将分支直接合并到仓库的默认分支。在极狐GitLab 中,您通常使用合并请求来合并您的分支。

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

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

让我们查看 UI 并确认您的更改。转到您的项目。

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

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

    Commit message

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

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