svn 怎么撤回某次提交?

2019-02-12 16:03:46 +08:00
 masteryi

刚开始没建分支,现在要把我加的新功能提交到新分支上,原来的撤回。回滚的话是不是别人后来的提交也没了。

3373 次点击
所在节点    问与答
5 条回复
msg7086
2019-02-12 16:26:56 +08:00
revert 掉你的提交。也就是产生两个完全相反的提交,跑完以后完全抵消掉。
SVN 没有太灵活的底层编辑功能。要永久删除一个提交是可以的但是很麻烦……
SoloCompany
2019-02-12 21:01:53 +08:00
如果不需要完全删除的话,可以采用这样的方式撤回

svn cp folder@old folder
svn commit -m ‘ revert folder to -r old'

也就是说用一个旧版的状态覆盖当前的最新状态
delectate
2019-02-13 02:27:05 +08:00
google 搜索 ✘
v2 提问 ✔
masteryi
2019-02-13 09:47:36 +08:00
@SoloCompany 同事的提交是不是也被覆盖了
SoloCompany
2019-02-13 09:57:06 +08:00
@masteryi #4 可以通知作者 cherry-pick 回来,但 svn 无法在 commit 时保留 meta 信息(除非使用后台操作),cherry-pick 后的 commit 日期信息和作者信息都会变了

如果你的目的不是不希望看到历史的话,直接 svn merge -c -your-commit 就能实现回滚(反向 cherry-pick merge, 注意 revision 数字是负数),

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/534244

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX