Merge pull request #45 from zzh0u/main

add type to markdown code block
This commit is contained in:
clas 2024-11-08 20:22:12 +08:00 committed by GitHub
commit 32b4d7dec6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -15,7 +15,7 @@ Git 是一个版本控制系统,帮助用户在项目中追踪文件修改,
首先,需要在本地创建一个空文件夹,然后在该文件夹下执行 `git init` 命令,这将创建一个 `.git` 目录,里面包含了 Git 的所有配置信息。然后通过 `touch` 命令新建一个`.txt`文件,并在文件中输入任意内容:
```
```json
McDonald's
Hamburger
Coke
@ -25,7 +25,7 @@ Coke
`.txt` 文件中输入内容后,可以执行 `git status` 命令查看当前文件状态:
```
```json
On branch main
No commits yet
@ -39,7 +39,7 @@ nothing added to commit but untracked files present (use "git add" to track)
可以看到文件处于未跟踪状态Untracked。这里引出 `Git` 中文件的第一种状态:**未跟踪状态Untracked**。需要执行 `git add` 命令将文件添加到暂存区。执行 `git add text.txt` 命令后,再次执行 `git status` 命令,可以看到:
```
```json
On branch main
No commits yet
@ -51,7 +51,7 @@ Changes to be committed:
可以看到,文件已被添加到暂存区,等待提交。这里引出第二种状态:**暂存状态Staged**。暂存区Stage是 Git 用来暂存文件的地方。现在我们需要执行 `git commit -m "first commit"` 命令提交文件,`-m` 参数后面是提交信息。也可以不加参数,直接执行 `git commit` 命令,这时会打开默认编辑器,输入提交信息。这个时候再次执行 `git status` 命令,可以看到:
```
```json
On branch main
nothing to commit, working tree clean
```
@ -62,7 +62,7 @@ nothing to commit, working tree clean
首先,我们现在自己的仓库多提交了几次 `commit` 之后,内容如下:
```
```json
McDonald's
Hamburger
Coke
@ -71,7 +71,7 @@ Chicken Nuggets
```
这个时候再次执行 `git status` 命令,可以看到:
```
```json
commit b3e4e008af045743defb01ca55b2ddd47c6926e4 (HEAD -> main)
Author: zzh0u <weirong.zhou@outlook.com>
Date: Sun Oct 13 09:44:57 2024 +0800
@ -93,14 +93,14 @@ Date: Sun Oct 13 09:32:00 2024 +0800
可以看到,当前仓库有三个 `commit`,当然,如果你觉得输出太多,眼花缭乱,可以加上 `--oneline` 参数,输出简洁版:
```
```json
b3e4e00 (HEAD -> main) third commit
5c64406 second commit
6ccffbb first commit
```
oops! 突然我又没那么想吃鸡块了,想回到上一次提交,怎么办?要回到第二个 commit你可以运行 git reset 命令,后面跟上 commit 的 ID`git reset 5c64406`,注意这里是**第二次**提交的 ID。做完这一步你可能会满心欢喜的打开文本文档但很抱歉这个时候文件还是原来的样子一如刚提交完第三次 `commit` 时候的样子,你满心疑惑,这到底是怎么回事?于是你又执行 `git status`:
```
```json
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
@ -111,12 +111,12 @@ no changes added to commit (use "git add" and/or "git commit -a")
```
这时候你注意到终端的 `Git` 提示你现在的状态是 `not staged`,这就引出了第四种状态:**未暂存状态Unstaged**。但是别急,不信你试试 `git log --oneline` 命令,第三次提交不会出现在提交日志中:
```
```json
5c64406 (HEAD -> main) second commit
6ccffbb first commit
```
我们已经成功回到的之前的 `commit` 了。如果你想撤销一个 commit**并撤销该提交之后的所有修改**,你可以在 git reset 命令中加上 --hard 标志。让我们测试一下这个方法,回到第一个 commit执行 `git reset 6ccffbb --hard`,这就会回到第一次修改的样子:
```
```json
McDonald's
Hamburger
Coke
@ -128,7 +128,7 @@ Coke
我已经重新回到了刚提交过三次 `commit` 后的状态:
```
```json
d3b86b2 (HEAD -> main) third commit
5aac07d second commit
6ccffbb first commit
@ -136,13 +136,13 @@ d3b86b2 (HEAD -> main) third commit
这次我们试试另外一个命令 `git revert`,同时输入当前提交的 ID。在我的例子中我们使用最新的那个 `commit` 的 ID
```
```json
git revert d3b86b2
```
这个命令会撤销指定提交,同时还会创建一个新的提交,记录撤销操作。执行完这个命令后,我们再次查看提交日志:
```
```json
ddc8aa6 (HEAD -> main) Revert "third commit"
d3b86b2 third commit
5aac07d second commit