如何使用 git 撤消过去的两次提交并保留所有后续更改?

问题描述 投票:0回答:1

我有一个包含 12 个项目的 Visual Studio 解决方案。该代码使用

git
托管在 Azure DevOps 上。我承认我不是 git 专家。
我已经从“master”分支创建了一些分支。我在新分支和主分支上都保持正常工作,并进行了一些提交。
然后,不幸的是,我不假思索地将一些项目从其文件夹移动到其他文件夹,然后继续在分支上工作并将它们合并到 master 中,而没有注意到任何事情。然后我意识到一些文件丢失了,之前所做的一些更改消失了,并且一些文件包含了不需要的更改。可能这是在我移动项目后将分支合并到 master 后发生的......
现在我的问题是:是否可以删除将项目移动到其他文件夹的提交,应用后续提交的更改?怎么办?

git azure-devops commit
1个回答
0
投票

您可以通过恢复这些提交来做到这一点

首先,我建议您在单独的分支中进行所有这些更改:

git checkout --branch revert-unwanted-changes

然后您需要识别要恢复的提交的 SHA

git log

复制要还原的提交的

sha
(sha 是每个提交都有的 40 个字符的字母数字标识符)并通过

还原它们

git revert <commit-sha>

一旦您对更改感到满意,请合并回主

© www.soinside.com 2019 - 2024. All rights reserved.