Windows 使用SVN,如何有选择地创建修补程序文件?

Windows 使用SVN,如何有选择地创建修补程序文件?,windows,svn,version-control,tortoisesvn,Windows,Svn,Version Control,Tortoisesvn,我有一个代码库,其中包含一些更改,这些更改最好分为几个提交 在git中,我将使用git add-p从每个文件中选择我想要的更改,并基于这些更改创建提交和拉取请求 我是SVN的新手,我想知道实现这一点的最佳方法是什么?看起来我可以选择文件级别,但不能在这些文件中进行更改 我使用OrtoiseSVN作为我的本地版本控制工具,但如果有一个工具可以满足我的需要,我很乐意使用另一个工具(必须在Windows上运行)。这是SVN无法提供的。将工作区域中的更改分离为多个提交只能具有文件粒度。不能将同一文件中的

我有一个代码库,其中包含一些更改,这些更改最好分为几个提交

git
中,我将使用
git add-p
从每个文件中选择我想要的更改,并基于这些更改创建提交和拉取请求

我是SVN的新手,我想知道实现这一点的最佳方法是什么?看起来我可以选择文件级别,但不能在这些文件中进行更改


我使用OrtoiseSVN作为我的本地版本控制工具,但如果有一个工具可以满足我的需要,我很乐意使用另一个工具(必须在Windows上运行)。

这是SVN无法提供的。将工作区域中的更改分离为多个提交只能具有文件粒度。不能将同一文件中的更改拆分为多个提交

所以我想你应该看看。它允许您在SVN存储库上使用Git,但有一些限制。例如,您将使用
gitdcommit
推送到SVN存储库。在合并之前,您必须使用重定基期策略。但除此之外,您还可以获得彩色差异、隐藏、重定基址、正确处理多个分支、默认情况下正确设置补丁格式等

如果你已经知道git,这将给你更多,更少的烦恼

看起来我可以选择文件级别,但不能在这些文件中进行更改

使用Visual Studio 2017的VisualSVN插件,这是很容易做到的。该功能称为QuickCommit,它可以帮助您部分提交文件中选定的更改

使用Visual Studio编辑器中的提交此块提交选择上下文菜单命令

以下是一个动画屏幕截图:


被否决,因为这是您可以从SVN和VisualSVN获得的东西。可能有一个客户端实现了它,但这不是SVN的功能。在SVN中,当您需要在不同的分支上工作时,您将完成完整的签出。顺便说一句,VisualSVN上的“提交此块”功能与Git的功能相去甚远。似乎您必须逐块提交,而在git中,您可以选择更改,然后立即提交。1)TortoiseSVN的“提交后恢复”与部分提交不同。2) Core SVN目前还没有内置这样的功能,但是本地工作副本中的检查点在SVN项目的路线图上,我猜它将使“选择您的更改,然后立即提交”成为可能,在即将到来的更新中。同时git拥有所有这些,还有更多。我作为SVN集成商工作了大约2×1.5年,在此之前,我将SVN作为开发人员使用。我在git之前学习过SVN,但一旦你学会了使用git,回到SVN只是一种痛苦。我特别感到痛苦的是,大多数操作都涉及到网络(需要合并内容,但服务器关闭了?回家吧),缺乏隐藏,需要有彩色区分,分页,函数上下文。这就是为什么git svn是已经了解git并且必须与svn合作的人的最佳选择。请参见: