首页 面向新手的 Git 教程:像玩游戏一样用 Git
文章
取消

面向新手的 Git 教程:像玩游戏一样用 Git

有一款名为“西游记”的游戏,里面一共有九九八十一道关卡,你今天打到第五关,然后关机休息了。明天打开游戏进去,发现又从第一关重新开始了,妈呀!忘记存档了……

在真假美猴王那关,不小心把唐僧打死了,事后发现在没有唐僧的情况下,无论如何都取不到真经。这时,你只需要重新读取真假美猴王前面最近的存档,就能实现时光倒流……

你现在已经通关了“西游记”,但是在西游的路上充满了遗憾,如果当初选择留在女儿国继续发展会怎么样?这时,你只需要读取女儿国前面最近的存档,就可以轻松开启一段支线旅程……

在同一条故事发展时间线上的两个存档之间是存在因果的,今天的故事是因,明天的故事是果,明天的果是基于今天的因上的。在现实世界中,历史已无法改变,我们只能珍惜当下并展望未来……

是的,Git 中最重要的概念就是“存档”,只要你知道什么是存档,就能轻松拿下 Git!

开始前的准备

在教程开始之前,有几个需要提前说明的事项:

  1. Git 并非 GitHub!Git 是一个安装于本地的版本管理软件,可单击操作;而 GitHub 是诸多 Git 仓库托管网站之一,千万不要想当然的认为 Git 是 GitHub 的缩写
  2. 如果电脑上没有安装 Git,可以在 Git 官网安装:https://git-scm.com/downloads
  3. 本教程使用命令行进行操作,macOS 使用“终端”,Windows 则使用“git-bash”
  4. 下文中称要使用 Git 管理其内容的文件夹为“项目根目录”
  5. 抛开命令行恐惧,命令行其实并没你想的那么难

仓库初始化

我们先进入项目根目录,后续其他 Git 命令也都是在项目根目录下执行:

1
2
3
# 这里的 /path/to/directory 是虚拟的,实操时需替换成自己电脑上的位置
# cd 是最简单,最常用的命令,如果不会用 cd 命令,后面的内容已经没必要看了
cd /path/to/directory

初始化仓库的操作很简单,只有一个命令,且对于一个项目来说,初始化仓库的操作只需要执行一次:

1
git init

仓库初始化后,在当前文件夹下会生成一个名为.git的子文件夹,你也可以通过是否有.git子文件夹来判断当前目录是否初始化为 Git 仓库。

.git文件夹外的其他文件被称为“工作区”中的文件。

创建存档

仓库有了,接下来就是对工作区中的文件进行编辑了。每完成一个阶段的编辑后,你就可能想对当前的文件内容进行存档了。

存档:添加文件

存档的第一个步骤就是选择要保存状态的文件:

1
git add filename

git add命令很简单,后面直接跟上要保存状态的文件的文件名即可(如果要保存的文件在子文件夹中,前面再加上子文件夹的名字)。还有个更简单的方法,就是执行git add .,这个.就代表当前文件夹中所有内容(包括子文件夹中的内容)。

存档:创建存档

添加文件后,执行git commit命令创建存档,这个命令也很简单,每次存档时,Git 会让你为本次存档输入一个“备注”:

1
git commit -m "三大白骨精"

这样一个存档就创建好了,在 Git 的世界中,存档就是commit

查看存档

我们可以通过git log命令查看存档列表,每个存档都有作者、日期、备注、哈希值等属性,如:

1
2
3
4
5
commit 9ed29eb22696ed0c1eecbcf7ec00dd25541156f6 (<--哈希值)
Author: scfhao <scfhao@126.com>                 (<--作者)
Date:   Tue Jan 14 15:38:35 2025 +0800          (<--日期)

    delete tmp files                            (<--备注)

分支

连接存档的时间线就是分支,也就是游戏中的支线。

创建分支

你可以基于任何一个存档创建新的分支:

1
git checkout 9ed29eb -b branchname

这个命令中的 branchname 可以替换成你想要的分支名称,9ed29eb是基于的存档的哈希值,这个哈希值没必要写全,只要写开头几位,Git 能根据这几位确定是哪个存档即可。

切换分支

也可以用git checkout命令切換到其他支线:

1
git checkout branchname

Git 的分支其实是存档的别名,分支名称代表分支对应的时间线上最新的那次存档。这也是为什么checkout后面既可以跟存档哈希值,也可以跟分支名称的原因。

Next

看到这里,你已经对 Git 有了一个基本的了解,快去实践一下吧!如果你在使用 Git 的过程中遇到什么问题,那么恭喜你又要学到新东西了!

Git 用处很多,我个人除了用 Git 保存代码外,还用 Git 保存笔记,如果你是大四的学生,那年后正好可以使用 Git 保存需要修改很多次的毕业论文……

本文由作者按照 CC BY 4.0 进行授权

数据结构不难:数组

面向新手的Git教程:打不开GitHub?