我喜欢GIT的一个原因是你只能在文件中提交一些更改。例如,如果您正在进行两个涉及同一文件的不同更改,则可以将该文件提交为两个具有不同注释的单独提交。
像:
在我意识到前几天的更改未提交之前,我花了一整天的时间处理文件,我可以通过选择要包含在提交中的行来执行以下操作:
Login.php [246]: previous changes
Login.php [247]: new changes
我意识到这种能力是因为GIT中的变更集是DIFF,而SVN只是提交整个文件。是否可以与SVN具有相同的行为?
如果存在SmartSVN特定黑客,那么这将是正常的,因为这是我们使用的。
答案 0 :(得分:6)
使用git-svn,我不认为SVN有这种支持,或者更确切地说任何SVN客户端除了git-svn或甚至hgsubversion
有些咆哮:
我不认为你要求这个是正确的。这意味着您必须更改创建变更集和提交的方式。我想要这样一个功能的原因是由于以下原因:
假设有一个构建文件。它在构建服务器中有一组特定的任务。对于我的本地方框,我注释掉它生成安装程序的部分,因为我不需要在开发框上执行此操作。现在,如果有时我想在这个构建文件中进行更改,我必须撤消删除安装程序生成并提交其他更改的部分。在这种情况下,我本来希望能够选择其他更改并单独提交。
答案 1 :(得分:2)
我自己没有尝试过,但看起来你现在可以使用Tortoise SVN做到这一点:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-commit.html#tsvn-dug-commit-restore
答案 2 :(得分:0)
VisualSVN 6.1引入了新的快速提交功能。此功能允许您对诸如拼写错误修复或代码注释等更改执行部分提交,而不会忽视主要任务。
您可以使用Visual Studio编辑器中的新提交此块和提交选择上下文菜单命令,在文件中部分提交所选更改。
在https://www.visualsvn.com/visualsvn/download/获取VisualSVN。