Git 是一个神奇的工具,不管是不是程序员,建议都学一学,对工作和学习都有帮助。

Git 也是我工作、学习和生活中的瑞士军刀,通过在各种场景下合理的使用它,使我更加从容面对各种挑战。

Git 的安装和配置,建议看我前一篇文章:Git 安装和配置指南

Git 命令列表可以看官方文档:https://git-scm.com/docs

1、初识(克隆)

对于程序员来说,干的最多的事就是把别人的仓库代码拉到自己本地电脑上。

这个操作最简单,我们以 Github 上的仓库举例,假设我对我的博客正在使用的主题 maupassant 有些不满意,想改动一些地方,那么我就可以先把它在 Github 上的仓库代码拉取到我本地。

打开它的 Github 仓库地址:https://github.com/tufu9441/maupassant-hexo

找到它的仓库克隆地址:

git-001

在电脑桌面找到 “Git Bash” 图标,双击打开终端。比如我要把此仓库的代码克隆到本地的 D:\code\ 目录下,则我们可以直接在终端中新建此目录,然后克隆代码:

1
2
3
4
5
6
7
cd /d       # 先切换到D盘根目录

mkdir code # 再创建 code 目录

cd code # 进入code 目录

git clone https://github.com/tufu9441/maupassant-hexo.git # 克隆仓库

如下图:

git-002

有点尴尬,网络不好,根本拉不下来。正常情况下,拉取代码成功后,在 D:/code/ 目录下,会有个 maupassant-hexo 目录,里面就是 maupassant 主题的源码。

2、常用命令

先罗列一些常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
git init    # 初始化仓库

git status # 查看仓库状态

git fetch # 拉取远程仓库的代码

git merge # 合并代码

git pull # 拉取远程仓库的代码并合并到本地分支

git checkout dev # 切换到 dev 分支

git push # 把本地分支提交的代码,推送到远程仓库的同名分支(main -> origin/main)

git branch -a # 查看所有本地和远程分支

不用死记硬背,通过场景教学,多练习几次,很轻松就能记住并上手。

3、场景教学

我在 D:/code 目录新建个文件夹 my-note,用来存放 markdown 笔记,应该如何用 git 帮我管理好这些笔记呢?

常见诉求:

  1. 笔记内容不丟失。
  2. 能多台电脑同步。
  3. 最好能看到笔记的修改历史。

3.1 新建仓库

创建文件夹,并初始化为 git 仓库。

打开 Git Bash,输入命令:

1
2
3
4
5
6
7
cd /d/code     # 进入 D:/code 目录

mkdir my-note # 创建文件夹

cd my-note # 进入文件夹

git init # 初始化仓库

如下图:

git-003

如此,my-note 文件夹就已经成为一个 git 仓库了,在该文件夹里有个隐藏的 .git 目录,里面保存了此仓库的所有信息。

3.2 添加笔记并提交

现在我们可以在 D:/code/my-note 目录下创建一个笔记本文件 how-to-use-git.md,或者创建子文件夹 2025-03,再在子文件夹里创建笔记 note-001.md

此时可以运用 Git 命令查看仓库状态:

1
git status   # 查看仓库状态

结果如下图:

git-004

因为这是新仓库,一个提交记录都没有,新建的笔记也没提交到仓库,所以界面上的文字都给提示出来了。

那么,如何把刚添加的文件全部提交到仓库呢,可以执行如下命令:

1
2
3
4
5
git add .     # 把当前仓库里的所有文件加入暂存区(“点”表示所有)

git commit -m "第一次提交的笔记" # 把暂存区的文件提交到仓库,并附上提交信息

git status # 查看仓库状态

结果如下图:

git-005

看其中的英文信息:

On branch main
nothing to commit, working tree clean

翻译翻译,就是:

在 main 分支
没有什么东西需要提交,工作树是干净的

说明咱们把所有新添加的笔记都用 git 管理起来了,工作区很干净。

3.3 修改笔记并提交

提交的两条笔记,突然觉得某个地方写错了,于是赶紧打开改了一下,再来看看 git 会有什么变化:

git-006

这个界面的英文提示也很全面,告诉你:

git add 更新你想提交的
git restore 去撤销你不想更改的内容

里面也追踪到 how-to-use-git.mdnote-001.md 文件被修改了。

好,这里的动作就可以拆解了:

  1. 我想把所有修改都提交到仓库,则执行(跟上面添加笔记的步骤一模一样):
1
2
3
git add .     # 把当前仓库里的所有文件加入暂存区(“点”表示所有)

git commit -m "提交一些笔记的修改信息" # 把暂存区的文件提交到仓库,并附上提交信息
  1. how-to-use-git.md 文件内容改错了,想恢复原样,则执行:
1
git restore how-to-use-git.md    # 还原文件到仓库里的版本状态
  1. 只想提交 note-001.md 的修改内容到仓库,则执行:
1
2
3
git add 2025-03/note-001.md    # 把当前仓库里的指定文件加入暂存区

git commit -m "提交笔记修改信息" # 把暂存区的文件提交到仓库,并附上提交信息

(内容较长,未完待续…)