使用 git 将一组已知文件的代码更改及时恢复到特定位置

Revert code changes to a specific place in time for a known set of files using git

我们正在使用 NopCommerce 框架。开发意味着我们必须将核心代码作为构建过程的一部分。我们在 git 存储库中有该项目。在某个时候,有人合并到 NopCommerce github DEV 分支,更新了所有核心文件。我们从不改变核心作为主体,但我们尽量保持当前版本。这不知何故让我们进入了开发分支。我们最近在注意到版本更改时发现了这一点,但是我们的私有库已经有更多提交到存储库。

我想知道是否有办法恢复更新核心代码的提交,或者我是否只需要手动将所有文件替换为我想要的文件并执行整个事情的巨大手动差异。

如果您知道更改文件的特定提交,您可以使用 revert 或 checkout 命令。如果要还原的更改是要还原的提交中的唯一更改,请使用 git revert <commit>...,其中 <commit> 是要还原的提交。否则,使用 git checkout <commit> -- <filename> 替换要还原的文件的路径,在这种情况下,<commit> 应该是要回滚的提交之前的提交。