Git本地提交恢复与取消git reset命令详解

21,591次阅读
没有评论

共计 1578 个字符,预计需要花费 4 分钟才能阅读完成。

我不小心在 Git 中创建了错误的文件,但我还没有检查服务器。

如何取消提交这些本地存储库?

唯一的方法是将更改复制到某个图形文本编辑器中,删除整个本地克隆,再次克隆存储库,然后重用更改。

反正,

  1. 这可能会导致数据丢失。

  2. 如果只是偶尔进行 git 提交,则很难做到这一点。

还有其他替代方法可以解决这个问题吗?

恢复或撤消提交

$ git commit -m "Something terribly misguided" # (0: Your Accident)
$ git reset HEAD~                              # (1)
[edit files as necessary]                    # (2)
$ git add .                                    # (3)
$ git commit -c ORIG_HEAD                      # (4)

该命令负责取消。离开工作树(磁盘上文件的状态)并撤消最后的承诺。您需要再次添加它们才能再次检查它们)。

修改工作树文件。

Git add 提供了您想要包含在新承诺中的任何内容。

重用旧的验证消息来查看更改。将旧的重置复制到. git / ORIG_HEAD。使用 -c ORIG_HEAD 提交以打开编辑器。编辑器最初包含一条旧的 Promise 日志消息,您可以更改该消息。如果不需要编辑消息,可以使用 -C 选项。

或者,为了更改先前的承诺(或仅更改其承诺消息),当前更改索引承诺添加先前的承诺。

要删除推送到服务器的承诺(而不取消),您需要使用 git push origin master –force 重写历史记录。

AI 回答内容(请仔细甄别,站长不保证其真实性)

要恢复 Git 中最后的本地提交并取消提交这些本地存储库,您可以使用 git reset 命令。以下是如何操作的步骤:

  1. 首先,确保您当前位于正确的 Git 存储库目录中。

  2. 使用 git log 命令查看提交历史。这将显示您最近的提交记录。找到您想要恢复的提交的哈希值(例如:abc123)。

  3. 使用 git reset 命令恢复到您想要的提交。有两种方法可以实现这一点:

    a. 如果您只想丢弃最近一次提交,可以使用 git reset HEAD~1。这将使您的工作目录恢复到上一次提交的状态,并将最近一次提交移动到暂存区。

    b. 如果您想要丢弃多个提交,可以使用 git reset 。将 替换为您想要恢复到的提交的哈希值(例如:git reset abc123)。这将使您的工作目录恢复到指定提交的状态,并将指定提交之后的所有提交移动到暂存区。

  4. 如果您想要永久删除暂存区中的提交,可以使用 git reset –hard 。将 替换为您想要恢复到的提交的哈希值(例如:git reset –hard abc123)。这将使您的工作目录、暂存区和提交历史都恢复到指定提交的状态。

请注意,使用 git reset –hard 命令将永久删除指定提交之后的所有提交,因此请确保您已经备份了重要数据。如果您只想丢弃最近的提交,而不删除其他提交,可以使用 git reset HEAD~1 命令。

文章来源地址 https://www.toymoban.com/diary/git/468.html

到此这篇关于 Git 本地提交恢复与取消 git reset 命令详解的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/git/468.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计1578字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)