【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

广告
将在 10 秒后关闭
bannerAds