介绍
🧑💻 刚接触 Linux 或 LabEx?我们建议先从 Linux 快速入门 课程开始。
欢迎开启你在 Git 世界的第一次精彩旅程!如果你曾希望能够穿越回过去,修复工作中的某个错误,或者如果你在追踪项目更改时感到力不从心,那么你一定会爱上 Git。Git 就像是你代码和文档的时光机,在本次实验结束时,你将拥有掌控它的力量!
如果你从未听说过 Git,也不必担心——我们将从零开始,引导你完成每一个步骤。通过本次实验,你将理解如何创建 Git 仓库、追踪更改以及进行提交。这些是全球开发者每天在创造神奇软件时都会用到的核心技能。让我们开始冒险吧!
创建你的秘密实验室
在深入学习 Git 之前,我们先来搭建一个工作区。把它想象成一个秘密实验室,你所有的实验都将在这里进行。

打开你的终端(别担心,它没看起来那么可怕!),输入这些神奇的指令:
cd ~/project
mkdir my-time-machine
cd my-time-machine
以下是这些指令的作用:
cd ~/project:将你传送到项目文件夹。mkdir my-time-machine:创建一个名为「my-time-machine」的新文件夹。cd my-time-machine:让你进入这个新的秘密实验室。
恭喜!你刚刚为你的第一个 Git 项目创建了一个空间。但为什么我们需要这个特殊的文件夹呢?在编程世界里,保持工作井然有序至关重要。随着项目的增长,你会庆幸为每一个项目都准备了专属的空间。
初始化你的时光机(Git 仓库)
现在我们有了秘密实验室,是时候建造我们的时光机了!在编程界,我们把这个时光机称为「Git 仓库」(Git repository)。
在终端输入这个命令:
git init
你应该会看到类似这样的消息:
Initialized empty Git repository in /home/labex/project/my-time-machine/.git/
哇!你刚刚创建了属于你自己的时光机!但为什么我们的代码需要时光机呢?
想象一下你正在写一个故事。你可能想尝试不同的结局,或者你可能不小心删除了一个你非常喜欢的段落。如果没有 Git,你必须手动保存故事的不同版本,最后会得到像「story_final.txt」、「story_final_v2.txt」、「story_final_真的最终版.txt」这样的文件。听起来很熟悉吧?
Git 解决了这个问题。它允许你在不创建多个文件的情况下保存工作的不同版本。你可以轻松地回到过去的任何版本,或者创建替代的时间线(我们称之为「分支」)来尝试不同的想法。这就是开发者热爱 Git 的原因——它赋予了他们实验的自由,而无需担心丢失工作成果。
检查时光机的状态
现在我们有了时光机,让我们看看它能告诉我们什么。在 Git 中,我们使用 git status 命令来执行此操作。这就像是在问你的时光机:「现在情况怎么样?」
尝试一下:
git status
你应该会看到类似这样的内容:
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
这看起来可能有点令人困惑,让我们来拆解一下:
- 「On branch master」:把分支想象成一条时间线。「master」是你项目的主时间线。
- 「No commits yet」:提交(commit)就像是电子游戏中的存档点。我们还没有创建任何存档点。
- 「nothing to commit」:目前没有需要 Git 记录的更改,因为我们还没有创建任何文件。
你可能会问:「为什么只是保存文件就需要这么多步骤?」好问题!与普通的保存不同,Git 允许你随着时间的推移保存项目的多个版本。这意味着你可以自由地进行实验,因为你知道如果出了问题,你随时可以回到之前的版本。这就像是为你的整个项目配备了无限次的「撤销」功能!
创建你的第一个文件
现在,让我们创建一些东西让时光机来追踪。我们先从文件中的一条简单消息开始:
echo "Hello, Future Me" > message.txt
这个命令创建了一个名为 message.txt 的新文件,里面写着「Hello, Future Me」。
让我们检查一下写了什么:
cat message.txt
你应该会看到:
Hello, Future Me
太棒了!我们创建了第一个文件。但 Git 的魔力现在才开始显现。目前,这个文件存在于你的电脑上,但 Git 还没有追踪它。这就像我们写了一张便条,但还没有把它放进我们的时间胶囊(Git 仓库)里。
在接下来的步骤中,我们将看到 Git 如何对这个新文件做出反应,以及我们如何开始追踪它的更改。这就是 Git 相比普通保存文件的闪光之处。有了 Git,你将能够准确地看到改变了什么、什么时候改变的以及为什么要改变。想象一下,在处理大型项目时,这将是多么有帮助!
再次检查状态
既然我们已经创建了一个文件,让我们问问时光机它看到了什么。再次运行 git status 命令:
git status
这一次,你应该会看到不同的内容:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
message.txt
nothing added to commit but untracked files present (use "git add" to track)
太令人兴奋了!Git 注意到了我们的新文件,但它告诉我们该文件是「未追踪的」(untracked)。这是 Git 的酷炫之处之一——它不会自动追踪文件夹中的每一个文件。这让你能够控制哪些更改需要包含在项目历史中。
你可能会想:「为什么不自动追踪所有内容呢?」想象一下你正在做一个大项目。你可能有一些不想追踪的文件——比如个人笔记或临时文件。Git 让你选择哪些内容是重要的并需要追踪,从而保持项目历史的整洁和有意义。
在下一步中,我们将告诉 Git 我们想要追踪这个文件。这就是 Git 开始展现超能力的地方——你即将创建你的第一个时间存档点!
准备你的第一个存档点
现在,我们要告诉 Git,我们希望在下一个存档点(在 Git 术语中称为「提交」)中包含 message.txt。我们使用 git add 命令来完成:
git add message.txt
这个命令不会产生任何输出,但它已经告诉 Git 开始追踪 message.txt 了。
让我们再次检查状态,看看发生了什么变化:
git status
现在你应该看到:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: message.txt
看!Git 现在正在追踪我们的文件,并且它已经准备好被提交了。这种先「添加」后「提交」的两步过程起初可能看起来有点复杂,但它实际上是 Git 的核心优势之一。
想象你正在准备一个时间胶囊。git add 命令就像是决定你想把什么东西放进胶囊里,而提交(我们下一步要做的)就像是正式密封胶囊。这让你能够仔细挑选进入项目历史中每个存档点的内容。
当你处理更大的项目时,这个功能非常有用。你可能修改了十个文件,但只想提交其中三个文件的更改。Git 的暂存区(staging area,即 message.txt 现在所处的位置)正是为此设计的!
创建你的第一个存档点(提交)
现在到了激动人心的时刻——我们要创建第一个提交(commit)了!提交就像是密封一个时间胶囊。它会保存所有已追踪文件的当前状态,并添加一条描述更改内容的消息。
这是创建提交的命令:
git commit -m "Send a message to the future"
你应该会看到类似这样的输出:
[master (root-commit) a1b2c3d] Send a message to the future
1 file changed, 1 insertion(+)
create mode 100644 message.txt
恭喜!你刚刚创建了你的第一个 Git 提交。你正式在项目中保存了一个时间点,并且随时可以回到这里。
这就是 Git 如此强大的原因。每一次提交都是你整个项目在那一刻的快照。你可以根据需要创建任意数量的快照,从而获得详细的项目历史记录。
想象你正在写一篇学校论文。使用普通保存,你只有最新版本。但有了 Git,你可以拥有「初稿」、「添加了结论」、「修复了引言」等存档点。如果需要,你甚至可以回到其中的任何一个点!
查看你的时空旅行日志
既然我们已经完成了第一次提交,让我们查看一下项目的历史记录。我们可以使用 git log 命令来做到这一点:
git log
你应该会看到类似这样的内容:
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
这个日志条目向我们展示了几条信息:
- 提交的唯一标识符(那一长串字母和数字)
- 谁进行了提交
- 提交的时间
- 我们写的提交消息
这个日志就像是你项目的时间线。随着你进行更多的提交,它们会被添加到这个日志中,形成完整的项目历史。当你试图了解项目随时间演变的过程,或者需要查找某项特定更改的发生时间时,这非常有用。
按 q 键退出日志并返回命令行。记住,在 Git 中,你随时可以按 q 键退出任何全屏视图。
想象你正在协作完成一个小组项目。有了 Git,你可以看到谁做了哪些更改以及为什么要更改,这使得与团队的协调变得更加容易。这也是 Git 被全世界开发者使用的原因之一——它让协作变得简单得多!
总结
恭喜你,时空旅行者!你刚刚完成了你的第一次 Git 冒险。让我们回顾一下你学到的神奇技能:
- 如何使用
git init创建 Git 仓库(你的时光机) - 如何使用
git status检查仓库状态 - 如何创建文件并使用
git add准备提交 - 如何使用
git commit创建提交(时间存档点) - 如何使用
git log查看项目历史
你可能会想:「为什么要费这么大劲只是为了保存文件?」好问题!以下是 Git 如此强大的原因:
- 详细的历史记录:有了 Git,你就拥有了完整的项目历史。你可以看到改了什么、什么时候改的以及为什么要改。
- 实验精神:Git 允许你自由地进行实验。你可以创建项目的不同版本,而不用担心丢失原始工作。
- 团队协作:在团队工作中,Git 让你轻松查看谁做了哪些更改以及原因。
- 备份:每个 Git 仓库都是项目的完整备份,包括其全部历史记录。
这些是开发者每天在创造神奇软件时使用的基础构建块。随着你继续前行,你将在这些基础之上管理更复杂的项目并与他人协作。
记住,每个人都是从初学者开始的。即使是最资深的开发者也曾经历过你现在的阶段。保持练习,不断实验,最重要的是,享受其中的乐趣!
如果你想了解更多关于 LabEx 及其使用方法,可以访问我们的支持中心。或者你可以观看视频来进一步了解 LabEx。
你进入编程和版本控制世界的旅程才刚刚开始。下一个实验只需点击一下即可开启。让我们继续探索并提升你的技能吧!谁知道你会用新掌握的 Git 超能力创造出什么惊人的项目呢?



