[英]Learning SVN - Simple beginner questions
刚开始使用SVN。 这是我在阅读了几篇文章,教程和玩了几个小时之后的一组非常基本的问题。
当我创建一个回购时,它应该包含我的所有项目还是只有一个? 在一些项目上运行导入后,我添加的每个新项目的修订计数都会增加,这似乎很奇怪。
如果我自己工作,标签和分支仍然是必要的和良好的做法?
你怎么知道何时提交一个项目? 特别是从头开始写它?
在夜晚结束时,你总是承诺你的工作吗? 或者你把它留下来检查?
您是否始终保留项目的导出副本? 如果SVN DB borks怎么办? 你能从borking恢复吗? 如果它确实是bork并且我只有一个签出的副本,我是否必须自己删除所有的.svn目录? 这样做会等同于导出的副本吗? 您是否将导出的标签存档?
我是否需要直接访问存储库目录? 隐藏这个目录会更好吗? (使用svn)
是否有更简单的方法来进行结账并导入然后输入整个文件路径(file:/// Applications / MAMP / SVN /)? 我可以设置一次我将永远使用的回购吗?
编辑感谢清除所有这些问题。 还有关于gui的建议。 我通过textmate建立起来,令人难以置信的令人难以置信。 仍然必须在CL上进行初始导入和结帐但是......
这是我对此的看法:
当我创建一个回购时,它应该包含我的所有项目还是只有一个? 在一些项目上运行导入后,我添加的每个新项目的修订计数都会增加,这似乎很奇怪。
这完全取决于您的口味:在单个仓库中拥有多个项目会带来好处(例如,将代码从一个项目复制到另一个项目),但如果您想让其他人只访问一个项目,那么拥有一个大型存储库可以让事情变得有点棘手。
关于修订号:不要担心。 这些数字仅用于管理,因此您可以轻松合并代码,返回特定版本等。
如果我自己工作,标签和分支仍然是必要的和良好的做法?
绝对! 特别是如果您想将代码发布到其他人或其他地方(例如在服务器上)。 您需要知道自己发布的版本(标记)。 并且您可能希望在旧版本中修复某些内容,而不会受到您在进一步开发(分支)期间所做的更改的困扰。
此外:当你不确定是否要继续沿着这条路走时,你可能想尝试一些事情:创建一个分支,进行实验并将其合并回主干或抛弃整个分支。
你怎么知道何时提交一个项目? 特别是从头开始写它?
我喜欢做小提交。 创建了样板项目? 承诺吧。 添加功能X? 承诺吧。 重构你的FooProcessor代码? 承诺吧。
通过采取这些小步骤,我发现更容易回溯我所做的事情。 如果我修复了某个bug,并且在一个月内我遇到了类似的问题,我可以很容易地确定修复的哪些部分以及什么不是。 (即:如果它在另一个提交中,它不是修复的一部分。:))我唯一的规则,这在团队中工作时尤其重要:不要提交破坏的代码。 它可能是未完成的,但它不应该伤害任何碰巧检查代码的人。
在夜晚结束时,你总是承诺你的工作吗? 或者你把它留下来检查?
我试着在一天结束时提交(所以当我的计算机出现问题时,我有一个备份,或者如果我生病了,我的同事可以继续我离开的地方)。 但只有我达到了可以安全承诺的程度。
您是否始终保留项目的导出副本? 如果SVN DB borks怎么办? 你能从borking恢复吗? ...
我没有整个存储库的结帐,我有存储库的备份。 我从来没有遇到过SVN存储库的问题。
...如果它确实是bork并且我只有一个签出的副本,我是否必须自己删除所有的.svn目录? 这样做会等同于导出的副本吗? ...
取决于你想要实现的目标。 但是删除.svn
文件实际上与svn导出相同。
...您是否将导出的标签存档
不,不是真的。 除非您想要在生产服务器上签发发布的“归档”。
我是否需要直接访问存储库目录? 隐藏这个目录会更好吗? (使用svn)
在* nix系统上, .svn
目录已经被隐藏(这就是为什么它们以点开头)。 你不应该想在这些目录中乱七八糟。
是否有更简单的方法来进行结账并导入然后输入整个文件路径(file:/// Applications / MAMP / SVN /)? 我可以设置一次我将永远使用的回购吗?
正如其他人已经提到的那样:看看Subversion的GUI。 我个人喜欢TortoiseSVN 。
当我创建一个回购时,它应该包含我的所有项目还是只有一个? 在一些项目上运行导入后,我添加的每个新项目的修订计数都会增加,这似乎很奇怪。
您喜欢它:每次签到时修订计数都会增加,与其所在的项目无关
如果我自己工作,标签和分支仍然是必要的和良好的做法?
标记版本(因此您可以根据报告者正在使用的任何版本来验证错误),分支处理更大的事情 - 如果它没有达到预期的效果,您可以随时返回主分支
你怎么知道何时提交一个项目? 特别是从头开始写它?
在我创建项目之后,我从一开始就提交。
在夜晚结束时,你总是承诺你的工作吗? 或者你把它留下来检查?
如果我有一些有效的东西(或者在任何情况下都没有破坏构建),我每天晚上都会做。 不要检查不编译的代码(即使你单独工作这是一个好主意)。 在开始完成另一项任务之前,每当我完成正在进行的任务时,我也会提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.