源树如何放弃未推送的提交并回退一步?

5

我正在使用与GitLab配合的Sourcetree Git客户端。我对版本控制不是很了解。有没有方法可以丢弃我的提交并返回之前的状态?我还没有推送那次提交。

2个回答

7

只需要右键点击您的提交并撤销即可。


只是一个提示,这就像使用 git revert 一样,它会创建一个还原提交。更好的解决方案是使用 @mattmilten 在下面回答中提供的 git reset。 - Vishwanath
2
Source-tree 中执行 git reset 的方法是,在你想要回到的先前提交记录上右键,然后选择“将 <分支名称> 重置到此提交记录”。 - Vishwanath

6
我不知道Sourcetree,但在“普通”的git中,即命令行git,您只需执行软重置操作即可:

git reset HEAD^

这将移除提交记录,但会保留工作目录,即您的实际文件。然后,您可以在新的提交记录中提交这些更改。

2
开火了!但是@mattmilten说得有道理,一旦你更熟悉SourceTree,转向命令行将帮助你更快、更流畅地使用Git。 - Nick Bailey
这对我帮助很大。我使用Sourcetree进行git操作。我软重置了一个提交,但无法看到差异。此外,如果我推送它,它会在dev上异步显示。然而,在我没有推送的情况下进行软重置后,我在终端中键入了这个命令,我的还原更改出现了,而且不会异步到主分支。 - musakokcen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接