Git案例:Docusaurus
本文介绍如何使用 Git 管理一个 Docusaurus 项目。
1.初始化 Git 仓库
在 wsl 中执行命令,初始化一个 Git 仓库,并且进入仓库目录:
git init docusaurus-demo
cd docusaurus-demo
配置作者的用户名和邮箱:
git config user.name "名字"
git config user.email "邮箱"

2.初始化 Docusaurus 站点
在创建 Docusaurus 前请安装和更新 nodejs 和 npm。
执行命令,创建 Docusaurus 站点:
npx create-docusaurus@latest my-website classic

如果网络没有问题,数分钟内完成安装。
调整目录结构:
mv my-website/* .
mv my-website/.* .
rmdir my-website/
调整后目录结构是这样的:

3.提交第一存档
你可以用命令查看 Git 仓库状态
git status

用命令提交第一个存档:
git add .
git commit -m "第一次提交。项目处于原始状态。"
提交后,仓库状态将变为 干净的

使用命令查看历史版本:
git log --oneline

4.提交第二个存档
添加了第一篇文章,文件处于 未跟踪 状态:工作区中有,暂存区中没有。

使用 git add 添加到暂存区。文件处于 新文件 状态:暂存区中有,版本库中没有。

使用 git commit 提交到版本库。使用 git log 可以看到两个两个历史版本。

5.提交第三个存档
No.1 修改文章

No2 删除文章
删除前

删除后

撤销操作
未添加到暂存区前,可以使用 git restore <文件> 撤销修改。原理是使用暂存区存 档覆盖工作区。

添加暂存区,提交第三个存档。

6.撤回到第二个存档
如果不小心把项目改乱了,可以使用 git reset <版本> 将工作区和暂存区撤回到指定版本。原理是用版本库中的存档覆写工作区、暂存区。
例如,撤回到第二个存档

在第三版本中对文章的操作的撤销了。

使用 git 后是很难误删文件的。不小心在工作区中删除了文件,也能通过版本库存档找回。
7.撤回到第三个存档
撤回到第二个存档后,使用 git log 你会发现看不到第三存档了。😮

不必惊慌,第三次提交只是被隐藏了。使用 git reflog 查看所有操作记录,最上面的一行是最新记录,最下面一行是最高的记录。

只要知晓第三次存档的 id 就可以撤回到第三个存档。

Git 的 reflog 是临时的,默认保存 90 天。reset 后 不要运行 gc(垃圾回收),否则这些“隐藏”的 commit 会被永久删除。
8.添加远程仓库
第一步,在你的 Git 服务器(Github、Gitee、Gitea 等)上创建一个空仓库,不初始化。复制仓库地址。
第二步,添加远程仓库
git remote add origin <远程仓库地址>
使用 git -v 查看已添加的远程仓库,如果 URL 写错,可以使用 git remote remove origin 删除远程仓库后重新添加。

9.推送到远程仓库
第 一次推送使用命令:
git push --set-upstream origin master
将本地 master 分支推送到远程 origin 仓库,并建立跟踪关系。

以后你只需要使用 git push 或 git pull,Git 就知道该操作哪个远程分支。

对关联的修改会体现在 git log 的输出中。

10.CI/CD
使用 Github Actions 或 Gitea Actions,每次提交代码后自动部署网站到云服务器。详情见相关章节。