【问题标题】:How do I undo a git commit that made sitewide changes 7 commits earlier如何撤消 git 提交,该提交在之前 7 次提交的站点范围内进行了更改
【发布时间】:2021-08-09 03:51:14
【问题描述】:

所以我不假思索地使用 CodeMaid 重新格式化我的工作项目。它所做的只是更改使用并删除空白行。然而,它的副产品是更改所有文件的版本日期。

现在经理自然不会让我提交我的分支,因为所有文件现在都已更改。

是否可以删除一个提交并使其更改向上级联撤消自己?或者,就像我已经开始做的那样,在提交下创建一个新分支并在其后手动添加每个更改?

【问题讨论】:

  • 为什么不获取和变基或合并?您所描述的 - 删除提交 - 是创建一个新分支并重新应用每个更改。手动操作是一种选择;你可以做一个多路变基。但这听起来不仅仅是重新定位您的本地工作。
  • git rebase -i
  • ...哦,您的本地更改被大量修改?是的,git rebase -i origin/master 并删除 codemaid 提交(假设它是一个提交)。如果它与同一次提交中的其他内容混合,您可以编辑、还原除您打算执行的操作之外的所有内容,然后提交并继续 rebase。
  • 谢谢,我一直在使用 Azure-devops,所以我的 git 命令真的很少。我有我要删除的提交 ID。如果我使用变基,我如何告诉它从哪个提交变基?

标签: git azure-devops git-commit


【解决方案1】:

是否可以删除一个提交并使其更改向上级联撤消?

如果您使用的是 Azure-devops,您可以找到提交 ID 并选择 Revert:

它将创建一个拉取请求以完成还原:

PR 完成后,提交回滚。

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 2020-11-16
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2012-12-14
    相关资源
    最近更新 更多