好的,我只是还原了几百行好的代码。我知道我知道。这完全是我的错,与SVN或任何版本控制系统无关。我只是非常疲惫而且非常分心,按下了Revert按钮而不是Commit one按钮。
SVN(可能是Ankh客户端)可以做很多事情来保护用户不会意外地采取破坏性行动。但是我不会责怪这个工具,我承担责任,我将用我自己的时间付出代价。
现在,我谦卑地问你的意见。
我应该经常提交吗?即使代码不完整?即使代码不会运行?
沙箱怎么样?它们是否用于提交 in-dev 代码?
另一方面,有没有简单的本地版本控制软件?什么东西监视文件系统并记录所有变化?
提前致谢。
答案 0 :(得分:2)
就个人而言,我是创建SVN分支并经常提交到我的分支的粉丝。这样可以保持干净的干线,但允许自由编写许多代码迭代,并可根据需要自由恢复。我已经学会了不要让我的SVN分支在主干变化时不会运行太长时间,因为合并可能会令人头疼 - 特别是如果树结构发生了变化。
说到这一切,我工作的组织将转向Git。
Apache在这里发布了他们认为是SVN最佳实践的内容:http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html
这篇文章中也有很好的信息: Subversion Branch/Trunk Best Practice - keeping Branch Up-to-Date?
答案 1 :(得分:1)
“本地变化”,这就是git闪耀的地方。由于git在本地为您提供了完整的repo,因此您可以尽可能多地提交构建日志的内容。
就个人而言,当使用svn时,我总是按照我的需要分支和提交。然后,当我完成后,我合并回主干。当然,与git不同,它需要您连接到远程svn repo。
答案 2 :(得分:0)
您还可以尝试使用化石作为当地的回购来保持当地的历史。即使它可以用作git我喜欢使用它来保存我的本地文件的历史记录,并在需要时将repo移动到另一台机器上。
它非常小,无需安装任何东西(只需1个文件)它有一个小型的Web服务器,包含wiki等。 试一试。