我不小心在Git中创建了错误的文件,但我还没有检查服务器。
如何取消提交这些本地存储库?
唯一的方法是将更改复制到某个图形文本编辑器中,删除整个本地克隆,再次克隆存储库,然后重用更改。
反正,
这可能会导致数据丢失。
如果只是偶尔进行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 命令。以下是如何操作的步骤:
首先,确保您当前位于正确的 Git 存储库目录中。
使用 git log 命令查看提交历史。这将显示您最近的提交记录。找到您想要恢复的提交的哈希值(例如:abc123)。
使用 git reset 命令恢复到您想要的提交。有两种方法可以实现这一点:
a. 如果您只想丢弃最近一次提交,可以使用 git reset HEAD~1。这将使您的工作目录恢复到上一次提交的状态,并将最近一次提交移动到暂存区。
b. 如果您想要丢弃多个提交,可以使用 git reset <commit_hash>。将 <commit_hash> 替换为您想要恢复到的提交的哈希值(例如:git reset abc123)。这将使您的工作目录恢复到指定提交的状态,并将指定提交之后的所有提交移动到暂存区。
如果您想要永久删除暂存区中的提交,可以使用 git reset --hard <commit_hash>。将 <commit_hash> 替换为您想要恢复到的提交的哈希值(例如:git reset --hard abc123)。这将使您的工作目录、暂存区和提交历史都恢复到指定提交的状态。
请注意,使用 git reset --hard 命令将永久删除指定提交之后的所有提交,因此请确保您已经备份了重要数据。如果您只想丢弃最近的提交,而不删除其他提交,可以使用 git reset HEAD~1 命令。文章来源:https://www.toymoban.com/diary/git/468.html
文章来源地址https://www.toymoban.com/diary/git/468.html
到此这篇关于Git本地提交恢复与取消git reset命令详解的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!