【发布时间】:2021-12-09 05:23:55
【问题描述】:
我对 GIT 的经验很少,所以我的问题可能听起来有点奇怪。我们有一个 Azure Devops 存储库,每天都有提交。
9 月 3 日,我们在 Azure Devops 存储库中提交了一些更改。这是承诺的,但从未推动过。从那以后开发人员就缺席了,在过去的 2 个月里发生了很多提交。然后,在 10 月 21 日,将 9 月 3 日的提交与中间的所有提交合并并最终推送。
有没有办法恢复合并的提交(发生在 10 月 21 日)和提交本身(发生在 9 月 3 日)而不丢失其间的所有提交?
这发生在 Azure Devops 中,提交和推送主要通过 Visual Studio 2019 进行。
【问题讨论】:
-
听起来像是
git revert的典型工作。看看doc。不过,您不必恢复提交和合并。根据您的工作流程,仅还原“错误”提交本身(或仅还原合并提交,但通常比较棘手,请注意)就足够了。 -
感谢@RomainValeri 的回答。但是,提交(从 9 月 3 日开始)的还原不会也还原之后发生的任何事情吗?
-
不,它不会不会。这正是
git cherry-pick或git revert的重点(实际上只是一个“消极”的樱桃挑选):提取一些提交增量(通过与其父项的差异)以将这些更改移植到其他地方,而没有附加任何其他历史记录.
标签: git visual-studio azure-devops git-commit git-revert