02 Git基础
Git 的核心概念(仓库、提交、分支、合并)¶
走进 Git 的世界,就像进入了一个魔法森林,在这里,你会遇到一些神秘的生物——它们被称为核心概念。不用担心,它们不会咬人,但它们绝对是你成为 Git 巫师过程中的忠实伙伴。
仓库:你的魔法书库¶
想象一下,有一个地方可以存放你所有的魔法书(代码),这个地方就是 Git 仓库。它不仅仅是一个文件夹,而是一个充满魔力的地方,可以记住你对每本魔法书所做的每一个改变。创建一个新的仓库就像是开启了一段新的魔法冒险。
提交:魔法日志的记录¶
每当你完善了一个咒语(完成了一个代码改变)并且满意于你的工作时,你就会做一个提交。这相当于在你的魔法日志中记录下了这次改变的精确细节。每个提交都有一个独特的 ID,让你可以随时回到过去的任何一个点,查看那时的魔法书是什么样的。
分支:平行的魔法世界¶
在 Git 的森林里,分支让你可以在不同的现实中同时进行魔法实验。每个分支都是主世界的一个复制品,你可以在其中尝试新的咒语,而不会影响到主世界(通常叫做 master 分支)。这就像是拥有了可以任意涂鸦的草稿纸,而干净的原稿则保持不变。
合并:将魔法世界统一¶
当你在某个分支上的魔法实验成功了,你就会想要将这些新的咒语带到你的主魔法书中。这时,你就需要进行合并。合并就像是将两个平行世界融合到一起,把你分支上的改变安全地移植到主分支上。有时这个过程会出现冲突,但不用担心,通过正确的仪式(冲突解决方法)你可以解决这些问题。
现在你已经认识了 Git 森林里的四大神兽,是时候抓紧你的魔法杖,开始你的代码巫师之旅了!
存储库设置(初始化和克隆)¶
欢迎来到 Git 魔法学院的入门课程!在这里,我们将教你如何创建你自己的魔法储藏室,也就是在 Git 世界中被称为“仓库(repository)”的地方。准备好了吗?让我们开始魔法仓库的第一课——初始化和克隆!
初始化:召唤你的第一个魔法仓库¶
在你开始编写那些即将改变世界的咒语之前,你需要一个地方来存放它们。这就是初始化(git init)的用武之地。打开你的终端,像这样念出咒语:
git init
克隆:复制远方大师的魔法书¶
有时候,你想要在已经存在的伟大魔法上继续构建,或者与其他巫师合作施展大魔法。这时候,你就需要克隆(git clone)一个仓库:
git clone [url]
一些小贴士¶
当你初始化一个新的仓库时,记得首先进入你想要变成魔法仓库的文件夹。 克隆一个仓库时,确保你有权访问这个仓库,否则召唤咒语可能会失败。 初始化和克隆都是开始一段神奇编程旅程的重要步骤。把它们看作是你的魔法冒险的起点。 现在,你已经掌握了创建和复制你的魔法仓库的基本技巧。下一个挑战是学习如何在这个仓库中记录你的魔法进展——但那是另一堂课的内容了。让我们把魔法书收好,准备迎接下一次冒险吧!
基本 Git 命令(add, commit, status, log)¶
拿起你的魔法杖(键盘),是时候学习一些基本的 Git 咒语(命令)了!这些咒语是每个年轻巫师在 Git 魔法学院里必须掌握的。它们将帮助你在魔法仓库中保持秩序,记录你的每一次魔法创造。
Git Add: 收集你的魔法材料¶
在你将你的咒语(代码更改)固化到历史记录之前,你需要先“添加”它们到你的魔法背包(暂存区)中:
git add <file>
git add .
请小心使用这个,因为你可能不想把整个森林都放进背包!
Git Commit: 将魔法永久化¶
准备好了吗?现在,用这个咒语将你的魔法改变记录下来:
git commit -m "这里写上你施法的描述"
Git Status: 检查你的魔法背包¶
在你开始施法之前,你可能想检查一下你的背包里都有什么:
git status
Git Log: 回顾你的魔法历史¶
想要回顾你所有施法的历史吗?这个咒语会帮你做到:
git log
现在你已经掌握了这些基本的 Git 咒语,记住要经常使用它们,它们将伴随你整个编程生涯。下次当你准备好进行更大的魔法冒险时,这些知识将是你的宝贵财富。
继续修炼,年轻的巫师,直到你能够熟练地在魔法仓库中舞动你的魔杖!
工作目录、暂存区和仓库的关系¶
想象一下,你是一位巫师,在你面前有三个魔法圈。每个魔法圈都有其独特的作用,而你的代码就像是被施了魔法的材料。让我们探索这些魔法圈——工作目录、暂存区和仓库——它们是如何一起协作,让你的魔法(代码)变得更加有序和强大。
工作目录:你的魔法实验室¶
工作目录
├───魔法草药(文件)
└───魔法石(文件夹)
暂存区:魔法预备舞台¶
暂存区
├───即将上台的咒语(add 的文件)
仓库:你的魔法档案馆¶
仓库
├───魔法历史记录(commits)
└───古老的卷轴(branches)
它们是如何魔法协作的?¶
你在 工作目录 里施展魔法(修改文件)。 当你对某些魔法成果满意时,你把它们移到 暂存区,准备下一步。 你通过一次神圣的仪式(git commit)将暂存区的魔法永久记录到 仓库 中。 然后,你继续在工作目录中尝试新的魔法,周而复始。 理解这三者的关系,就像是掌握了控制你的魔法世界的钥匙。每个圈子都有其独特的魔法,但是合在一起,它们就构成了一个强大的魔法系统。现在,继续你的魔法之旅,巫师们,用你的代码创造奇迹吧!