跳到主要内容

06 Git案例:Docusaurus

本文介绍如何使用 Git 管理一个 Docusaurus 项目。

1.初始化 Git 仓库

在 wsl 中执行命令,初始化一个 Git 仓库,并且进入仓库目录:

git init docusaurus-demo
cd docusaurus-demo

配置作者的用户名和邮箱:

git config user.name  "名字"
git config user.email "邮箱"

初始化一个 Git 仓库

2.初始化 Docusaurus 站点

[!note]

在创建 Docusaurus 前请安装和更新 nodejs 和 npm。

执行命令,创建 Docusaurus 站点:

npx create-docusaurus@latest my-website classic

创建一个 Docusaurus 站点

如果网络没有问题,数分钟内完成安装。


调整目录结构:

mv my-website/* .
mv my-website/.* .
rmdir my-website/

调整后目录结构是这样的:

调整目录结构

3.提交第一存档

你可以用命令查看 Git 仓库状态

 git status

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 <版本> 将工作区和暂存区撤回到指定版本。原理是用版本库中的存档覆写工作区、暂存区。

例如,撤回到第二个存档

回到第二存档

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

读档

[!note]

使用 git 后是很难误删文件的。不小心在工作区中删除了文件,也能通过版本库存档找回。

7.撤回到第三个存档

撤回到第二个存档后,使用 git log 你会发现看不到第三存档了。😮

查看历史存档

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

历史记录

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

WindowsTerminal_Q2EeiaCwcQ

[!note]

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 pushgit pull,Git 就知道该操作哪个远程分支。

git push


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

git log

10.CI/CD

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