SourceTree – 撤消提交的提交

我正在使用Windows版SourceTree作为git-repository,并想撤消一个未完成的提交。

那可能吗? 如果我做了“恢复提交”,它会创build第二次提交,它将恢复第一次提交,但是我不希望第一次提交出现在我的源代码pipe理中。

我也可以删除我的本地存储库,并在没有本地提交的情况下再次将其拉出,但也许有另一种方式?

  1. 右键点击你想重置的提交(不是你想要删除的那个!)
  2. select“重置主机到此提交”
  3. select“软”重置。

软重置将保持您的本地更改。

资料来源: https : //answers.atlassian.com/questions/153791/how-should-i-remove-push-commit-from-sourcetree

编辑

关于git revert :这个命令创build一个新的提交,这将撤消其他提交。 例如,如果你有一个添加新文件的提交,那么可以使用git revert来做一个提交,它将删除新文件。

关于应用软复位:假设你有提交AEA---B---C---D---E ),并且你想删除最后一个提交( E )。 然后你可以做一个软重置来提交D 使用软重置提交E将被删除从git,但本地更改将被保留。 在git reset文档中有更多的例子。

如果您select要恢复的日志条目,则可以单击“重置为此提交”。 如果您没有推送反向提交更改,请仅使用此选项。 如果您担心丢失更改,那么您可以使用软模式,这会留下一系列未提交的更改(您刚更改的内容)。 使用混合重置工作副本,但保持这些变化,一个艰难的将完全摆脱这些变化。 以下是一些截图:

在这里输入图像说明

如果你在另一个分支上,你需要首先“检查这个提交”提交你想删除,只有“重置当前分支到这个提交”select以前怀特提交,将工作。