跳转至

02 Git基础

Git 的核心概念(仓库、提交、分支、合并)

走进 Git 的世界,就像进入了一个魔法森林,在这里,你会遇到一些神秘的生物——它们被称为核心概念。不用担心,它们不会咬人,但它们绝对是你成为 Git 巫师过程中的忠实伙伴。

仓库:你的魔法书库

想象一下,有一个地方可以存放你所有的魔法书(代码),这个地方就是 Git 仓库。它不仅仅是一个文件夹,而是一个充满魔力的地方,可以记住你对每本魔法书所做的每一个改变。创建一个新的仓库就像是开启了一段新的魔法冒险。

提交:魔法日志的记录

每当你完善了一个咒语(完成了一个代码改变)并且满意于你的工作时,你就会做一个提交。这相当于在你的魔法日志中记录下了这次改变的精确细节。每个提交都有一个独特的 ID,让你可以随时回到过去的任何一个点,查看那时的魔法书是什么样的。

分支:平行的魔法世界

在 Git 的森林里,分支让你可以在不同的现实中同时进行魔法实验。每个分支都是主世界的一个复制品,你可以在其中尝试新的咒语,而不会影响到主世界(通常叫做 master 分支)。这就像是拥有了可以任意涂鸦的草稿纸,而干净的原稿则保持不变。

合并:将魔法世界统一

当你在某个分支上的魔法实验成功了,你就会想要将这些新的咒语带到你的主魔法书中。这时,你就需要进行合并。合并就像是将两个平行世界融合到一起,把你分支上的改变安全地移植到主分支上。有时这个过程会出现冲突,但不用担心,通过正确的仪式(冲突解决方法)你可以解决这些问题。

现在你已经认识了 Git 森林里的四大神兽,是时候抓紧你的魔法杖,开始你的代码巫师之旅了!

存储库设置(初始化和克隆)

欢迎来到 Git 魔法学院的入门课程!在这里,我们将教你如何创建你自己的魔法储藏室,也就是在 Git 世界中被称为“仓库(repository)”的地方。准备好了吗?让我们开始魔法仓库的第一课——初始化和克隆!

初始化:召唤你的第一个魔法仓库

在你开始编写那些即将改变世界的咒语之前,你需要一个地方来存放它们。这就是初始化(git init)的用武之地。打开你的终端,像这样念出咒语:

git init
就像用魔杖轻轻一挥,一个新的 Git 仓库就诞生了。在你的项目文件夹中,会出现一个名为 .git 的隐藏文件夹,这是你所有魔法日志(版本历史)的秘密藏匿之地。

克隆:复制远方大师的魔法书

有时候,你想要在已经存在的伟大魔法上继续构建,或者与其他巫师合作施展大魔法。这时候,你就需要克隆(git clone)一个仓库:

git clone [url]
这个咒语会从远方的地方(比如 GitHub 或 GitLab)召唤一个完整的魔法仓库副本到你的本地。它包含了所有的魔法历史和秘密,让你可以立刻开始在上面施展你自己的魔法。

一些小贴士

当你初始化一个新的仓库时,记得首先进入你想要变成魔法仓库的文件夹。 克隆一个仓库时,确保你有权访问这个仓库,否则召唤咒语可能会失败。 初始化和克隆都是开始一段神奇编程旅程的重要步骤。把它们看作是你的魔法冒险的起点。 现在,你已经掌握了创建和复制你的魔法仓库的基本技巧。下一个挑战是学习如何在这个仓库中记录你的魔法进展——但那是另一堂课的内容了。让我们把魔法书收好,准备迎接下一次冒险吧!

基本 Git 命令(add, commit, status, log)

拿起你的魔法杖(键盘),是时候学习一些基本的 Git 咒语(命令)了!这些咒语是每个年轻巫师在 Git 魔法学院里必须掌握的。它们将帮助你在魔法仓库中保持秩序,记录你的每一次魔法创造。

Git Add: 收集你的魔法材料

在你将你的咒语(代码更改)固化到历史记录之前,你需要先“添加”它们到你的魔法背包(暂存区)中:

git add <file>
这个咒语就像是你在准备施法前,把你所有的草药和晶石放进背包,准备好进行下一个大动作。如果你想要一次性添加所有的材料,可以使用:

git add .

请小心使用这个,因为你可能不想把整个森林都放进背包!

Git Commit: 将魔法永久化

准备好了吗?现在,用这个咒语将你的魔法改变记录下来:

git commit -m "这里写上你施法的描述"
每次成功的 commit 都像是你在魔法日志里记录了一次壮丽的冒险。它会告诉其他巫师你做了什么,为什么做,以及如何做的。

Git Status: 检查你的魔法背包

在你开始施法之前,你可能想检查一下你的背包里都有什么:

git status
这个咒语会告诉你哪些魔法材料已经准备好了(已经 add),哪些还在你的口袋里(未 add)。它是一个巫师的好习惯,时常检查一下他们的背包状态。

Git Log: 回顾你的魔法历史

想要回顾你所有施法的历史吗?这个咒语会帮你做到:

git log
这会展示你所有的 commit 日志,就像是翻阅你的魔法冒险全记录。每一条记录都详细记载了你的每一步魔法旅程,包括谁施的法、什么时候施的,以及为什么施的。

现在你已经掌握了这些基本的 Git 咒语,记住要经常使用它们,它们将伴随你整个编程生涯。下次当你准备好进行更大的魔法冒险时,这些知识将是你的宝贵财富。

继续修炼,年轻的巫师,直到你能够熟练地在魔法仓库中舞动你的魔杖!

工作目录、暂存区和仓库的关系

想象一下,你是一位巫师,在你面前有三个魔法圈。每个魔法圈都有其独特的作用,而你的代码就像是被施了魔法的材料。让我们探索这些魔法圈——工作目录、暂存区和仓库——它们是如何一起协作,让你的魔法(代码)变得更加有序和强大。

工作目录:你的魔法实验室

工作目录
├───魔法草药(文件)
└───魔法石(文件夹)
工作目录是你进行日常魔法实验(编码)的地方。这里可以随心所欲地试验各种咒语(代码更改),不用担心搞乱已经完美的魔法(版本控制)。想象你在实验室里忙碌着,调配药剂和磨练咒语,直到你对成果满意准备记录下来。

暂存区:魔法预备舞台

暂存区
├───即将上台的咒语(add 的文件)
当你的魔法草药和石头(文件和文件夹)准备好了,你就可以把它们移到暂存区,这是一个准备舞台,用于整理和预览即将记录的魔法。用 git add 命令就像是你告诉你的助手,哪些材料(文件)是准备好了的,可以放到舞台上待命。

仓库:你的魔法档案馆

仓库
├───魔法历史记录(commits)
└───古老的卷轴(branches)
最后,当你满意于舞台上的表演(暂存区的内容),你会使用 git commit 命令将这些魔法正式记录到你的档案馆(仓库)。这里保存着所有过去的魔法(版本历史),每一次 commit 就像是一个封存的记忆,可以随时拿出来回忆或者展示。

它们是如何魔法协作的?

你在 工作目录 里施展魔法(修改文件)。 当你对某些魔法成果满意时,你把它们移到 暂存区,准备下一步。 你通过一次神圣的仪式(git commit)将暂存区的魔法永久记录到 仓库 中。 然后,你继续在工作目录中尝试新的魔法,周而复始。 理解这三者的关系,就像是掌握了控制你的魔法世界的钥匙。每个圈子都有其独特的魔法,但是合在一起,它们就构成了一个强大的魔法系统。现在,继续你的魔法之旅,巫师们,用你的代码创造奇迹吧!