撤消多个提交
Undo several commits
我需要一些帮助来确定在这种情况下最好的做法是什么:
我一直在一个项目的主干上开发一些代码。最近我发现它有一些问题,所以我检查了我对项目进行了一些更改的旧版本。
现在我希望这个较旧的、经过修改的结帐成为主干。问题是我不能只签入这个旧版本。我基本上想撤消最后 5 次提交并检查我当前正在处理的更改。
最好的方法是什么?
正如您已经意识到的,您不能仅仅提交本地更改,因为您的工作副本已过时。你可以试试这个:
- 在其他地方查看新的工作副本
- 启动 "SVN Show log" 对话
- 突出显示所有五个无效提交
- 右键单击它们 select "Revert changes from these revisions"
- 查看更改并提交有意义的消息:"Undo changes from blah blah..."
(这就是你应该首先进行的方式。)
现在,转到您当前的工作副本。使用您最喜欢的文件比较工具将待定更改复制到另一个工作副本(最新的那个)并在必要时提交它们。
现在两个工作副本都包含相同的代码——您应该能够更新第一个副本并在那里继续开发(或者干脆丢弃它并在第二个副本中开发)。
我需要一些帮助来确定在这种情况下最好的做法是什么:
我一直在一个项目的主干上开发一些代码。最近我发现它有一些问题,所以我检查了我对项目进行了一些更改的旧版本。
现在我希望这个较旧的、经过修改的结帐成为主干。问题是我不能只签入这个旧版本。我基本上想撤消最后 5 次提交并检查我当前正在处理的更改。
最好的方法是什么?
正如您已经意识到的,您不能仅仅提交本地更改,因为您的工作副本已过时。你可以试试这个:
- 在其他地方查看新的工作副本
- 启动 "SVN Show log" 对话
- 突出显示所有五个无效提交
- 右键单击它们 select "Revert changes from these revisions"
- 查看更改并提交有意义的消息:"Undo changes from blah blah..."
(这就是你应该首先进行的方式。)
现在,转到您当前的工作副本。使用您最喜欢的文件比较工具将待定更改复制到另一个工作副本(最新的那个)并在必要时提交它们。
现在两个工作副本都包含相同的代码——您应该能够更新第一个副本并在那里继续开发(或者干脆丢弃它并在第二个副本中开发)。