问题 重命名文件:Visual Studio vs Version控件


重命名文件的问题是,如果您想利用Visual Studio重构,您确实需要从Visual Studio内部执行此操作。

但是大多数(并非所有*)版本控制系统也希望成为重命名的人。

一种解决方案是使用集成的源代码控制,但这并不总是可用,并且在某些情况下非常笨重。

我个人更乐于在Visual Studio之外单独使用源代码控制,但我不知道如何管理这个文件重命名问题。

那么,对于那些使用Visual Studio的人,你使用哪个源代码控制?您是否使用VS集成(哪一个?),否则,您如何解决此重命名问题?

(* git非常聪明,可以自己解决)


4584
2018-04-07 13:08


起源



答案:


我使用SVN(TortiseSVN作为客户端)并使用 修复移动 来自提交对话框的命令很重。这允许我在VS中重命名文件并在我准备提交以保留版本历史记录时解析重命名。

至于使用VS集成,就像你一样,我发现所有VS集成都很笨重而且不使用它。


5
2018-04-07 13:52



特别是作为VS集成(至少我最后一次使用它),是面向checkout-modify-checkin,越来越多的源控制工具是get-modify-merge。 - Benjol
哇,很高兴知道。我通常必须做更复杂的事情:从项目中删除,重命名为svn,添加回项目随机播放。这意味着减少一步 - 我只需要等待更好的VS集成。 - quamrana


答案:


我使用SVN(TortiseSVN作为客户端)并使用 修复移动 来自提交对话框的命令很重。这允许我在VS中重命名文件并在我准备提交以保留版本历史记录时解析重命名。

至于使用VS集成,就像你一样,我发现所有VS集成都很笨重而且不使用它。


5
2018-04-07 13:52



特别是作为VS集成(至少我最后一次使用它),是面向checkout-modify-checkin,越来越多的源控制工具是get-modify-merge。 - Benjol
哇,很高兴知道。我通常必须做更复杂的事情:从项目中删除,重命名为svn,添加回项目随机播放。这意味着减少一步 - 我只需要等待更好的VS集成。 - quamrana


mercurial通常更喜欢通过重命名 hg rename 但是它也可以通过使用来检测来自外部源的重命名 hg addremove -s 100 (如果你想将重命名与改动相匹配,则小于100)所以很明显你可以让VS做重命名,并通过addremove获得mercurial。


2
2018-04-07 13:34



谢谢,这很好知道 - Benjol


我们使用SVN(确切地说是TortoiseSVN),我总是对重命名问题感到困扰。我发现最简单的解决方案是从项目中删除文件,通过TSVN重命名它们并将它们添加回项目。您必须手动更新重命名的头文件的包含,但使用find和replace这相对容易。


1
2018-04-07 13:13



从项目中删除文件将从该磁盘中删除它。所以你需要 排除 它来自项目。我接下来做:首先使用VS中的菜单Refactor重命名类,然后使用SVN重命名文件,之后 - 将新文件添加到项目并删除旧文件 - abatishchev
呸!听起来很糟糕,不过我觉得@ abatishchev的解决方案听起来稍微好一些。 - Benjol
如果右键单击文件并选择“删除”,VS会询问您是否要删除或删除该文件。如果选择删除,则不会删除该文件。 - erelender


我们使用Team Foundation Server,它没有任何问题。我还发现,使用完全集成的客户端改进了我的工作流程,因为我不需要在应用程序之间切换只是为了完成琐碎的任务。


1
2018-04-07 13:15



谢谢。我想TFS与VS一起工作是不费吹灰之力的。几年前,由于价格和安装的痛苦,我将TFS从我的'潜力'列表中删除了。也许我应该再检查一下...... - Benjol
@Benjol下周一检查VS2010发布时 - 我的理解是你得到了TFS。 - Rowland Shaw


我们开发“塑料SCM”和 Visual Studio包支持移动操作。但我明白你的观点,我越来越觉得没有插件/软件包,然后让版本控制在幕后工作,只需检测发生的事情而不必“插入”IDE。事实上,我们正在努力为下一个版本...


1
2017-12-24 16:26



好在这里!保持良好的工作。 - Benjol


除了上面的建议,对于Visual Studio 2008,我发现在对VS中重命名的任何文件进行所有全局更改后,包括右键单击文件并重命名,以及全局搜索和替换所有字符串,替换旧的如果文件是初始启动文件,则必须右键单击并选择它作为“设置为默认页面”。否则你可能会得到“无法找到资源”。运行时错误。


0
2017-12-21 18:12