如何回滚一个开发人员所做的更改,保持所有其他更改的活动?

时间:2016-12-23 03:00:14

标签: git

所有更改都已推送到存储库,现在我们遇到了一个错误,需要将developerX所做的所有更改回滚到特定的提交(commitX -done在15天之前)。

但是有了这个,我需要在commitX之后保留所有其他开发人员所做的更改。

选项1 - 签出commitX的所有文件,然后提交旧版本的文件。

- 但是有一些新文件被添加,有些文件被developerX在他后来的提交中删除了,会发生什么?我需要手动远程/添加这些吗?

还有其他更好的方法吗?

2 个答案:

答案 0 :(得分:1)

如果通过拉取请求(或至少是非快速转发的合并提交)合并了不合需要的更改,您可以引用该提交哈希来创建新的恢复提交:

假设您目前在主要分支上(可能是numpy.fromfile()):

master

如果更改是在主分支中快速转发或以其他方式完成的,则需要在git checkout -b revert-bad-changes git revert <hashOfMergeCommit> # push your branch, merge it into master, whatever your process is 命令中引用多个提交,例如:

revert

答案 1 :(得分:0)

git revert <commitHash> 

这将创建一个恢复目标提交的新提交。

更多请参阅here