git - 如何恢复我所做的更改

标签 git

这可能是一个愚蠢的问题,但我宁愿安全,也不愿把一切搞砸。

我做了两次错误的提交...我在一次提交中删除了一个文件夹。在下一次提交中,我重新创建了该文件夹。在我做出这些提交后,我的队友也对存储库做出了提交,但他们的提交独立于我的提交。 (我有自己的文件夹,并且我对其进行了更改)。

如何撤消我的两次提交而不影响我的队友所做的提交?

假设第一次提交的提交哈希值是 AAA111,第二次提交的提交哈希值是 BBB222。

谢谢!

最佳答案

如果您的提交被推送,您可以运行 git revert在每个提交上并撤消它们。或者,当您 pull 更改时,您最终会遇到 merge 冲突,并且更改将得到解决。

如果您的更改仅在本地分支上,您可以 git reset --hard <sha of commit before your commits>警告:这将删除您的所有更改。这将使您的提交不会发生。

如果您的更改仅在本地分支上,并且您有其他想要保留的提交,则可以执行 git rebase -i <sha of commit before your changes> ,这将打开一个编辑器,列出您拥有的所有提交。删除不再需要的两个提交,保存文件。这将从您的历史记录中删除提交并保存您拥有的其他提交。

关于git - 如何恢复我所做的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21971091/

相关文章:

git - 将两个独立的功能分支 merge 到同一个主分支中

git - 将 pull 请求 merge 到不同的分支

git:提交多个文件但添加消息

eclipse - 为什么不建议将 Eclipse 项目文件夹作为 Git 存储库?

Git 日志 - 如何过滤(排除)出现在 `git log` 中的文件? (git pathspec 魔法)

git - 如何在不单击每个文件的情况下使用 git gui 提交许多新文件?

来自 HEAD 的 Git 过滤器分支

c - 文件夹内的 xcode c 文件未执行

eclipse - 缩短 Eclipse git 工作流程

git - 无限 git pull git 远程修剪循环 - 如何修复?