Git 使用 Dev、Staging 和 Master 分支恢复到以前的版本

Git Reverting to Previous Version with Dev, Staging and Master branches

所以,假设我对一个文件做了一些不应该的更改,然后将该文件推送到 Development 和 Staging 分支,但 Master 分支仍然很好。

我想在 Dev 和 Staging 上恢复到以前的版本,这样它就不会保留我编辑此文件的历史记录。

此外,在我的文件之后我还想保留对这个文件的另一个编辑:

A(我想恢复的地方)-- B(我的改变)-- C(我的改变)-- D(我想保留的改变)

所以基本上我想要 A -- D

我该怎么做?

如果我理解你现在你有

D
|
C
|
B
|
A

你想要

D
|
A

因此,首先您要结帐到该分支的 HEAD - 您必须进行 D 提交。然后通过方法

在commit A之前调用rebase interactive来commit
git rebase -i HEAD~4

您将看到从 D 到 A 的提交列表及其哈希码和选择词

pick f5b61e4 D
pick 65286fb C
pick 7b32f8c B
pick b8a35c6 A

修改为

pick f5b61e4 D
pick b8a35c6 A

并将消息保存为提交

你将拥有

D
|
A

如果不能解决您的问题,请更清楚地描述您的问题