git - 使用 SourceTree 恢复/删除特定分支上的特定 Git 提交?

标签 git atlassian-sourcetree

我使用 BitBucket 和 SourceTree。我有两个分支,分别是 Dev_1.2.2Dev_1.2.3

我在 Dev_1.2.2 上提交了一些文件,但没有推送。我不想在 Dev_1.2.2 上提交或推送这些文件,因此我成功提交了 Dev_1.2.3 上的文件,但无法从中恢复/删除提交Dev_1.2.2

如何使用 SourceTree 从分支中恢复此提交?

最佳答案

不完全确定你在问什么,但我可以看到两个选项:

撤销提交

要撤销 SourceTree 中的特定提交,请执行以下操作:

  • 在左侧的分支列表中双击 Dev_1.2.2 分支。
  • 在提交历史图表中,选择有问题的提交。
  • 右键单击提交,然后从上下文菜单中选择“反向提交...”。
  • 在显示的确认对话框中确认操作。

应该这样做,它将创建一个逆转提交。您的历史记录现在将显示您首先添加了文件,然后第二次提交显示您再次删除了它们。

重置为之前的提交

如果您想删除整个提交而不显示在历史记录中,您可以在添加文件之前将分支重置为提交。

为此,您需要执行以下操作:

  • 在左侧的分支列表中双击 Dev_1.2.2 分支。
  • 在提交历史图中,找到有问题的提交。
  • 接下来,选择添加文件之前的提交。确保它在同一个分支中。
  • 右键单击该提交,然后选择“将 Dev_1.2.2 重置为该提交”。
  • 在下一个对话框中,选择“硬”选项并确认操作。

警告:这将意味着您将丢失在选定提交之后所做的任何更改。您的分支将重置为此提交。

关于git - 使用 SourceTree 恢复/删除特定分支上的特定 Git 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31795511/

相关文章:

android - 平板电脑上的 Postgresql 服务器?

git - git 克隆中丢失的文件

git - 为什么使用 'git rm' 而不是 'rm' 来删除文件?

Gitlab key 格式问题

php - 如何从 bitbucket 克隆一个 laravel 项目并使用 Sourcetree 在你的计算机上安装和运行?

git 提交到克隆的存储库

git - 如何在ansible中转发ssh key 以从源头 checkout 目标机器上的git存储库?

git - 如何将 SourceTree 中的分支移动到文件夹中?

git - 一个分支的多个功能 - 有什么意义?

git - 将远程分支重置为之前的提交