【问题标题】:SVN - commit only some changesSVN - 只提交一些更改
【发布时间】:2018-05-10 08:10:35
【问题描述】:

我喜欢 GIT 的一件事是您只能在文件中提交一些更改。例如,如果您正在执行涉及同一个文件的两个不同的更改,您可以将文件作为两个不同的 cmets 单独提交。

喜欢:

我花了一整天的时间处理一个文件,然后才意识到前几天的更改尚未提交,我可以通过选择我想在提交中包含哪些行来执行以下操作:

Login.php [246]: previous changes
Login.php [247]: new changes

我意识到这种能力是因为 GIT 中的变更集是 DIFF,而 SVN 只是提交整个文件。是否有可能与 SVN 有相同的行为?

如果有 SmartSVN 特定的 hack 那就没问题了,因为这是我们使用的。

【问题讨论】:

  • 对于不熟悉 git 的人,git add -p 将为您提供所有逐行更改的颜色编码差异,并询问您要提交哪些更改。

标签: svn


【解决方案1】:

使用 git-svn,我不认为 SVN 有这种支持,或者说除了 git-svn 甚至 hgsubversion 之外的任何 SVN 客户端都支持


一些咆哮:

我认为你提出这个要求的理由不妥。这意味着您必须改变创建变更集和提交的方式。我想要这样一个功能的原因如下:

假设有一个构建文件。它有一组特定的任务要在构建服务器中完成。对于我的本地机器,我注释掉它生成安装程序的部分,因为我不需要在开发机器上这样做。现在,如果我想在此构建文件中进行更改,我必须撤消删除安装程序生成的部分并提交我的其他更改。在这种情况下,我希望能够选择其他更改并单独提交。

【讨论】:

【解决方案2】:

我自己还没有尝试过,但看起来你现在可以使用 Tortoise SVN 做到这一点:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-commit.html#tsvn-dug-commit-restore

【讨论】:

【解决方案3】:

VisualSVN 6.1 引入了新的 Quick Commit 功能。此功能允许您对拼写错误或代码 cmets 等更改执行部分提交,而不会失去对主要任务的关注。

您可以使用 Visual Studio 编辑器中新的 Commit this BlockCommit Selection 上下文菜单命令部分提交文件中的选定更改。

通过 https://www.visualsvn.com/visualsvn/download/ 获取 VisualSVN。

【讨论】:

    猜你喜欢
    • 2011-04-28
    • 2011-02-13
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    相关资源
    最近更新 更多