SVN中与"git commit --amend"等效的命令是什么?

11
在 SVN 中,git commit --amend 的等效命令是什么?我知道 SVN 中没有这个选项,但我正在寻找解决方法。

你需要回退到你想要的提交版本,进行修改后再次提交。我手头没有svn仓库来尝试这些命令。 - Augusto
可能是撤销意外提交的重复问题。 - tripleee
我不知道 --amend 是什么,但迄今为止的答案表明它撤消了提交或类似的操作。如果是这种情况,在Subversion中它被称为obliterate(不,没有这样的功能)。 - Álvaro González
https://dev59.com/anI95IYBdhLWcg3wtwb4 - Ciro Santilli OurBigBook.com
就像其名称所示,“--amend”允许您向刚刚提交的更改集中添加更多更改。更一般地,在Git中,您可以在本地存储库中修改历史记录,直到将本地提交“push”到上游存储库为止。 - tripleee
1个回答

7

在SVN中,没有一种可靠、理智和明确定义的方法可以更改历史记录。因为当您进行提交时,提交会发送到中央仓库,如果在此之后更改历史记录,则无法保证其他开发人员的检出的完整性。

如果您可以完全控制客户端,则可以使用丑陋、危险的hack来修改存储库的不可变部分。例如,导出整个数据库、修改它、清除存储库并重新导入就能实现你所描述的目标,但这种方式容易出错,对于大多数情况来说可能过于极端。

使用git-svn作为Subversion的前置工具可能是最简单、最安全、最有生产力的方法,它提供了安全网和其他在Git中存在但Subversion中不存在的功能。


1
如果你非常着急,或许可以搜索类似于“哎呀,我提交了一个绝对不能提交的密码”的内容。 - tripleee

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