【Git】如何将文件历史回退到过去的方法
首先
在使用git进行commit后,经常会出现问题。在这种情况下,我写了一篇关于如何恢复文件历史记录的方法的文章。
※如果有错误或其他问题,请指正。
基本上是通过命令行进行操作。
虽然像GitHub Desktop等基于GUI的工具使得操作Git变得简单,但对于Git的细节操作并不适用,所以我不推荐使用。要通过命令行还原历史记录,需要理解Git的工作区、暂存区和仓库这些机制。
[参考链接](https://qiita.com/redrabbit1104/items/2046a7853351e69c1b18)
可以使用git log命令查看历史记录。
首先,你可以使用“git log”命令来确认之前的历史记录。
>git log
commit b34c256fd724cc269144abdeddc42d31101c2374 (HEAD -> master)
Author: redrabbit1104 <redcaprabbit1104@gmail.com>
Date: Wed Apr 21 07:26:25 2021 +0900
modify-html
commit c808493e13e5d42f5371f00f4efa8ccaa224d5c9
Author: redrabbit1104 <redcaprabbit1104@gmail.com>
Date: Wed Apr 21 07:25:33 2021 +0900
first_commit
(END)
最新的提交记录位于顶部,下方的是较早的提交记录。HEAD是最后一次提交的记录,也就是最新的记录。commit旁边的长号码(b34c256fd724cc269144abdeddc42d31101c2374)类似于提交时的标识号,可以使用这个号码来回退记录。
#index.htmlファイル
<body>
<div></div>
<p></p>
<a href=""></a>
TEST #"TEST"という文字列が書いてある
</body>
重置git
使用git reset命令可以回到过去。为此,需要先前的commit号码。假设要回到”first_commit”这个历史点。commit号码为”c808493e13e5d42f5371f00f4efa8ccaa224d5c9″。
只需一种方式,以下是中文的释义:
顺便提一下,在使用git reset后,您只需要输入以下编号,其中有”–hard”、”–mixed”和”–soft”。
–soft:仅撤销提交(取消本地仓库)
–mixed:撤销提交和添加(取消本地仓库和暂存区)
–hard:撤销提交、添加和工作区的修改内容(取消本地仓库、暂存区和工作目录的所有修改)
有很多选择,但基本上是使用 –hard 就可以了。
git reset –hard 「想要回退的commit编号」
>git reset --hard c808493e13e5d42f5371f00f4efa8ccaa224d5c9
HEAD is now at c808493 first_commit
返回了first_commit并显示了一条消息。
查看履历和文件
使用git log来查看历史记录。
❯ git log
commit c808493e13e5d42f5371f00f4efa8ccaa224d5c9 (HEAD -> master)
Author: redrabbit1104 <redcaprabbit1104@gmail.com>
Date: Wed Apr 21 07:25:33 2021 +0900
first_commit
(END)
修改后的HTML历史已经被移除了,目前最新的历史是first_commit。我们来检查一下index.html文件。
#index.htmlファイル
<body>
<div></div>
<p></p>
<a href=""></a>
#"TEST"という文字列が消えている
</body>
我确认通过这个操作,已经恢复了历史记录。
请引用这篇文章
1. Chinese equivalent for the first link:
https://qiita.com/shuntaro_tamura/items/db1aef9cf9d78db50ffe
https://qiita.com/shuntaro_tamura/items/db1aef9cf9d78db50ffe
2. Chinese equivalent for the second link:
https://www.sejuku.net/blog/71512
https://www.sejuku.net/blog/71512