【发布时间】:2016-12-29 08:44:30
【问题描述】:
【问题讨论】:
-
上一条评论中链接的答案主要讨论
git reset,在这种情况下这不是合适的解决方案。 -
@larsks - 第二个答案讨论了变基解决方案。
【问题讨论】:
git reset,在这种情况下这不是合适的解决方案。
git rebase -i ca83eb3
当交互式变基发生时,您的文本编辑器将出现。将 pick 更改为 drop 以获取您所做的五个提交。这将在您保存并退出编辑器后从历史记录中删除提交。
粗略地说,我们可以在当天只记录来自您的提交的 sha 进行一些 bash,但由于它只有 5 次提交,所以我们只做这个简单的 rebase。
你不应该这样做。现在你的提交是公开的,一旦你改变了他们的远程历史,每个开发者的代码都必须被重置。相反,请考虑离开它,或进行额外的提交以删除您的代码。您不想更改公共分支的历史记录。
【讨论】:
git rebase 的危险。特别是因为这些更改存在于 master 并且其他开发人员已经在问题提交之上提交。
git revert <commit>,最后合并了这个分支。我建议任何人使用这种方式来处理多个开发人员正在处理同一个 repo 的项目。更多信息:atlassian.com/git/tutorials/undoing-changes/git-revert