通常,小心就足以防止问题发生,但是有时我需要通过检查随机变量的源代码控制路径来仔细检查我正在处理的分支(例如 “嗯……我在dev
分支中,对吗?”)文件。
在寻找一种更简便的方法时,我想到了相应地命名解决方案文件的名称(例如 MySolution_Dev.sln
),但是每个分支中的文件名不同,因此我无法合并解决方案文件。
没什么大不了的,但是您有没有使用任何方法或“小技巧”来快速确保您位于正确的分支中?我正在将Visual Studio 2010与TFS 2008一起使用。
通常,小心就足以防止问题发生,但是有时我需要通过检查随机变量的源代码控制路径来仔细检查我正在处理的分支(例如 “嗯……我在dev
分支中,对吗?”)文件。
在寻找一种更简便的方法时,我想到了相应地命名解决方案文件的名称(例如 MySolution_Dev.sln
),但是每个分支中的文件名不同,因此我无法合并解决方案文件。
没什么大不了的,但是您有没有使用任何方法或“小技巧”来快速确保您位于正确的分支中?我正在将Visual Studio 2010与TFS 2008一起使用。
Answers:
我正在使用此 http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6
将标题更新为例如:
开发 \ myproject
要么
主 \ myproject
要么
发行 \ myproject
希望能帮助到你
用不同的名称命名工作目录。也就是说,如果您的项目名为“ MY_PROJECT”,则为每个分支创建一个不同的工作目录。如果有一个名为“ dev”的分支,则需要一个主干目录和一个dev开发目录,如下所示:
~/henginy/projects/MY_PROJECT-trunk
~/henginy/projects/MY_PROJECT-dev
您可以在每个分支中创建一个空文件,例如在主干中创建THIS_IS_TRUNK.txt,在DEV中创建THIS_IS_DEV.txt。
我从命令行完成了很多(D)VCS工作。我强烈建议您迅速显示您的位置。例如,在Git仓库中的提示如下(我也对SVN这样做):
[BranchName]RepoTop/path/to/current/wd >>
并且如果仓库当前脏了(未提交的更改):
[BranchName!!]RepoTop/path/to/current/wd >>
如果登录到产品,我也将背景设置为红色,诸如此类。我发现简单的视觉通知对我来说超级有效。
您提到,回到计算机后,您经常会看到这种情况。我发现了一个便条纸,当我离开时,我当前的焦点(分支,错误号,功能)固定在键盘上,这使我可以快速恢复工作,而不是重新创建上次所做的事情,非常有效。 。
有一个免费的Visual Studio扩展,称为TFS解决方案信息,可以对此提供帮助。它在一个小窗口中显示当前分支和工作区,您可以将其停靠/固定在任何位置。
我一直在使用VSCommands扩展(使用Visual Studio 2012,但有2010版本),它方便地将分支名称放在屏幕的左上角以及解决方案资源管理器中。
不以任何方式与该产品相关联,只是一个满意的用户。
我通过在一个分支中执行几乎所有操作来避免在错误的分支中工作(在主干中-按照所谓的“不稳定主干” 分支策略)。
我被迫更新分支的情况很少见-这些是生产前和生产后的错误修正(产品候选代码隔离在分支中)。由于这些修复程序也应该在主干中,因此我通常会在主干中在那里进行草稿,测试和验证,然后移植到产品分支。通常,移植仅涉及1到5个文件的简单副本即可进行分支和构建检查。
具体答案取决于您所使用的版本控制软件,但是通常会有一个命令可以使您轻松查看正在使用的分支。例如,对于Subversion,svn info
在目录中使用命令查看该分支的URL。如果您对特定文件更感兴趣,也可以指定:
caleb-dev$ svn info foo.c
Path: foo.c
Name: foo.c
URL: https://svn.mycompany.com/repo/sample/branches/caleb-dev/foo.c
Repository Root: https://svn.mycompany.com/repo/sample
Repository UUID: d62f7aef-3ad2-6098-12a-c16647d854ab
Revision: 1042
Node Kind: file
Schedule: normal
Last Changed Author: caleb
Last Changed Rev: 1031
Last Changed Date: 2011-06-07 15:28:27 -0400 (Tue, 07 Jun 2011)
Text Last Updated: 2011-06-08 03:08:12 -0400 (Wed, 08 Jun 2011)
Checksum: 123456789098765432123456789098
从URL中,我可以看到我的foo.c副本在caleb-dev分支中。
我不需要经常这样做,因为我的本地目录与分支具有相同的名称。快速查看我的命令行提示符通常足以确认我在正确的目录中,并且因此在正确的分支中工作。