【发布时间】:2023-03-05 07:36:01
【问题描述】:
我修改了工作目录中的文件并进行了 svn 更新。更新执行没有冲突。
我希望能够将工作目录内容恢复到 svn 更新之前的状态。
原因是我维护了一个本地 git 存储库,与共享 svn 存储库并行。在进行 svn 更新之前,我忘记了 git commit 我的本地更改。现在我的工作目录包含本地更改与 svn 更新产生的更改混合在一起。如果我提交,所有更改都将显示为一个原子更改。我希望他们分开。如果我可以恢复更新并保留我在 svn 更新之前拥有的工作目录的内容,我可以这样做。
【问题讨论】:
-
我用另一种方式解决了它。本地更改位于不受更新影响的文件中。所以多亏了 git stage 机制,我只提交本地修改的文件,然后在第二次提交中修改了 svn update 修改的所有其他文件。我很幸运。
-
是的,git 阶段是出路。即使文件受到影响,您仍然可以使用
svn diff和git apply来分解颠覆更改和您的更改。 -
无论哪种情况,我都建议将来使用
git-svn。它可以可靠地处理导入和导出修订,另外还可以用作本地补丁队列(您可以在本地分支上进行多次提交,并使用交互式 rebase 仅将其中的一部分推送到颠覆)。
标签: svn