颠覆:你怎么避免忘记检查内容?

时间:2009-08-25 02:41:47

标签: windows visual-studio svn tortoisesvn

在两个不同位置的三台不同的计算机上工作,在颠覆的项目中,我偶尔忘记在一个位置检查内容,这样当我想继续工作时我无法处理最新的代码在另一个地方的项目。

我相信其他人也遇到过类似的问题。

我可以做些什么来避免这个问题?有用的工具吗?我可以设置通知吗?

我在Windows7 PC上使用Visual Studio 2008和TortoiseSVN。

10 个答案:

答案 0 :(得分:7)

使用像VisualSVN这样的工具来显示在解决方案资源管理器中修改了哪些文件,这样您就不会忘记提交它们:

VisualSVN status icons in Solution Explorer

答案 1 :(得分:6)

一个简单的解决方案是右键单击项目的顶层,然后单击“提交”。 Tortoise向您展示整个项目,包括“非版本化”文件。

设置源树时,这需要一点点训练。例如,如果将二进制输出文件与源代码混合,则会使其更加困难。还要确保没有任何包含源代码的目录被忽略。

答案 2 :(得分:6)

每日构建 检查到新目录并进行构建的批处理文件(或等效文件)(在理想的世界中运行单元测试) - 如果它没有构建,那么你错过了某些东西。

答案 3 :(得分:5)

我没有提供魔杖,只是咒语“提前提交,经常提交”;除了避免这样的事故,或者至少在它们发生时最小化它们的影响,这也提供了其他优点(例如,如果变更集需要回归,则更细粒度的回滚)。这可能需要一个分支,如果主干被认为总是包含“黄金代码”,所以你不想提交半生不熟的变更集(并且svn不能完全分支和合并无痛,叹息) - 事实上这个(在分布式VCS的其他优点是我开始在开源和/或个人项目中从subversion切换到mercurial(又名hg)的一个原因,我可以在这个问题上做主! - >

答案 4 :(得分:2)

远程控制其他计算机(可能通过VPN),以便您可以获取远程工作目录中的代码,即使您忘记将其签入。

和/或自动备份工作目录。

答案 5 :(得分:2)

强迫自己进入日常生活。

First thing in the office - do an update. 
Last thing in the office  - do a commit (if required).

当然,你应该在白天更新/提交(例如在办理登机手续时),但至少要做到以上几点。

答案 6 :(得分:2)

如果忘记办理入住手续,如果可能的话,我会通过一些脚本注销,如果有尚未完成的工作,那么首先会唠叨你。或者通过从您的项目文件夹中单击的图标,以便TortoiseSVN将显示红色感叹号。

如果忘记在办理登机手续时添加新文件,我会使用此批处理文件:

svn st
svn ci -m %1 --username "russell.wallace"

因此,只要我做了一个缺少新文件的提交,我就会收到通知,并可以立即跟进另一个添加它们的提交。

答案 7 :(得分:1)

Cron的工作是每天晚上向你抱怨?

答案 8 :(得分:1)

我使用Tortoise的方法是始终打开其中一个“检查修改”窗口,并定期点击其“刷新”按钮。如果没有首先检查所有打开的窗口/应用程序是否存在未保存的数据,那将会非常糟糕。

这对于忘记添加内容也很好,BTW,因为您可以设置该窗口以显示所有未被忽略的非添加内容。

答案 9 :(得分:0)

我使用git-prompt.sh来跟踪文件和分支的状态。它似乎也适用于SVN。