我对文件进行了一些更改,但发现我需要以其他方式对其进行修改 - 这需要我暂时将其当前更改保存到其他位置并稍后应用。我怎么能在svn / subversion工具中做到这一点,例如TortoiseSVN的?
我提到的功能与制作shelveset
非常相似,并在TFS中取消了它。
如果你知道如何,请帮忙。谢谢!
答案 0 :(得分:16)
AntonyW的答案有效,但它可能有点过分,特别是如果你有很多代码!
我不熟悉TFS'shelveset
,但svn为您提供了svn diff
命令来完成您正在寻找的内容:制作差异并保存它以便您以后可以应用它。只需获取svn diff
的输出并将其保存在.patch或.diff文件中。
svn diff myfile > myfile.patch
因为你正在使用TortoiseSVN,this is even easier to do。
答案 1 :(得分:4)
您还可以使用更改创建分支。它甚至可以比在磁盘上存储差异更好。
编辑: 那么你在工作副本中有不同的变化吗? 要保留的文件和要保存为diff的文件? 在这种情况下,也许从TortoiseSVN创建补丁更好。
但是如果你想从工作副本中修改补丁,那么在我看来创建分支会更好。 在Tortoise中这很容易:
对于shure来说,它大部分时间都适用于我,补丁适用于代码审查,而不是用于创建未完成更改的本地工具集;)
答案 2 :(得分:1)
关于上述答案,我(个人)不同意这些答案(批量等......)。至于我(我也在使用它),这是目前仅由团队基础支持的优秀功能之一,可以在网络中使用。在以下情况下,这有很大帮助:
我搜索了这个功能,发现大多数其他产品(SVN,mercurial)将来会引入这个功能,但它尚未推出。
......要求宽恕而非许可总是更好......
答案 3 :(得分:0)
我通常会在新位置结账,然后在那里进行更改。
稍后,我会对原始位置进行更新,以将更改合并到我之前修改过的版本中。