正确版本控制死角

时间:2014-08-12 07:20:52

标签: git svn version-control dead-code

问题

在开发实验代码时,我有时会提交导致死胡同的更改。然后我想回滚到之前的修订版,重新开始。但我不知道如何做到最好。

示例 - 问题

假设我们在分支A中有以下结构:r1 -> r2 -> r3 -> r4 -> r5

然后我认识到,这是一个死路一条,并希望从r3开始。

示例 - 方法

在我看来,以下最终的存储库结构将是理想的,但如果我错了,请纠正我:

Branch A:              r1 -> r2 -> r3 -> r4_new -> ...
                                     \
Branch A_dead_end:                    `-> r4 -> r5

问题

处理死胡同回滚的最佳做法是什么?请更正我的措辞,因为我不知道要搜索的条款。 我对Git和SVN的解决方案很感兴趣。

2 个答案:

答案 0 :(得分:2)

对于Git:如果你还没有推动分支A,你可以做:

git checkout -b A_dead_end
git branch -f A r3
git checkout A

答案 1 :(得分:0)

对于SVN,您至少有两种方式

  • 反向合并r4 + r5(提交为r6 mergeset)并继续在同一分支中工作
  • 从BranchA_dead_end @ 3创建新分支并忘记原始分支(您甚至可以svn rm