我应该多久对源代码管理进行一次更改?每个小功能之后,还是仅适用于大型功能?
我正在开展一个项目,并有一个长期的功能来实现.目前,我正在承诺每一部分工作,即每个子功能实现和错误修复.在发现错误后我为某些功能添加了一大块测试之后,我甚至做出了承诺.
但是,我很担心这种模式.在一个富有成效的工作日里,我可能会做出10次提交.鉴于我正在使用Subversion,这些提交会影响整个存储库,所以我想知道这么多确实是一个好习惯吗?
假设您正在开发定期发布的软件产品.在分支和合并方面有哪些最佳实践?将定期发布分支机构切换到公众(或任何客户),然后继续在主干上进行开发,或者考虑使用稳定版本的主干,定期将其标记为发布,并在分支机构中进行实验性工作.人们认为树干被认为是"黄金"还是被认为是"沙箱"?
我工作的公司开始遇到他们目前的分支模型的问题,我想知道社区有哪些不同的分支策略?
对于不同情况,有什么好的吗?贵公司使用什么?它们的优点和缺点是什么?
我应该从哪里开始学习版本控制系统?我过去曾经使用过SVN,Team Foundation和Sourcesafe,但我并不觉得我完全掌握它,而且我的团队似乎也没有抓住它.
掌握哪一点最重要?我意识到这与VCS到VCS不同,但是为了这个问题,我们可以假设Subversion是我最感兴趣的VCS.
此外,如果可以的话,请推荐您认为有用的任何有关该主题的书籍.
除了我以前的话题
我想深入了解程序员应该/可以如何使用TFS.
对我来说最有趣的事情不是如何设置服务器,而是如何每天使用它.在软件工程领域,您的责任不仅在于代码,还在于架构,文档和其他领域.你需要收集你的作品,最好是在同一个地方.
所以这些是我的兴趣点,我希望获得更多的知识:
这些只是我想要了解的几点.有关上述主题的初学者指南,深入指南和链接的建议将非常有用.请随意添加其他重要注意事项.
几天前,当我不得不将C++文件引入Java项目时,我遇到了一个问题.它首先需要测量Java进程的CPU使用率,并决定使用JNI来调用用C编写的本机库(Unix机器上的共享库).问题是找到一个合适的位置将C文件放入源存储库(顺便说一下Clearcase),它只包含Java文件.
我想到了几个选择:
(a)创建一个单独的目录,用于将C文件(特别是一个.h文件和一个.c文件)放在源代码库的顶部,如:
/ vobs/myproduct/javasrc/vobs/myproduct/cppsrc
我不喜欢这个,因为我只有两个C文件,在这样的语言级别拆分源代码库似乎很奇怪.如果项目的大部分内容在C++和Java中或多或少地写得相同,那么这可能没问题.
(b)将C文件放入使用它的Java包中.
我在/ vobs/myproduct/com/mycompany/myproduct/util /中调用了Java类,C文件也在那里.
我不喜欢这个,因为我认为C文件不属于Java包.
以前有人解决过这样的问题吗?通常,在组织混合两种或更多语言的代码库时,应该遵循什么样的策略?
更新:我没有任何计划在我的项目中使用任何C或C++,也许是一些Jython,但你永远不知道我的客户何时需要一个只能通过使用C解决的功能或者最好用C解决的功能.
我将负责决定在我们的CVS/SVN仓库中如何进行标记分支.
是否有任何文献可以帮助我理解使用CVS的最佳方式?分支/标记等?
谢谢
可能重复:
使用源代码管理
所以,虽然即使在stackoverflow上也只是版本控制上的几十件事,我找不到一些好的方法来回答我的所有问题.如果您有任何发言或发布链接,请在此处进行操作.
1.,我需要从版本控制开始吗?
虽然大多数人都同意,即使是单个开发人员/程序员也应该从版本控制开始,没有人(或者至少是可理解的形式)告诉我们
那,怎么样?
在我的本性是,我需要知道什么意思CVS,SVN,龟,Git的,GitHub上有什么区别,但我很难找到一些死的简单脚踏启动到版本控制的世界.
作为开发人员/程序员,我工作或学习过几乎所有的编程/标记语言,这是主要的(从帕斯卡到Java,从HTML到PHP :)),并用几十个编辑,IDE和节目评析.当有人提到你甚至可以使用源代码控制来写东西 - 为学生做家庭作业,年度报告,书籍......你必须包括更多的编辑......
我现在已经不知道如何从版本控制开始,如何将它合并到我的工作流程中,如果我需要服务器或什么.
感谢您帮助我找到什么是什么以及如何处理:)
编辑: 从你的所有答案(谢谢),我感觉它真的只有像"有历史的同步文件夹".(以最明显的方式:))如果是的话,你能回答两个问题吗?(编号4.和5.,所以它不会混淆答案:))
4.,如果我决定彻底改变我的程序结构怎么办(例如,在flex中,我决定使用两个as3类来代替MXML组件) - 这不会让人产生混淆吗?
5.,从其他问题来看,我如何承诺?(发现这个问题已经发布并且可能已经回答了,但是又丢了它)
编辑2: 再次,更多答案(谢谢)
6,我的问题4更像是如果我不小心(或不)续签了一些被删除的文件(这可能是可能的),它会破坏我的计划,因为例如它取决于其他已删除的文件,这是不是不删除,将我能搞定吗?:d
7.,我看到了一些我会看的方式.谢谢你的答案......但是,现在我很困惑,我应该给谁"好的答案",因为你们都非常有帮助:)
接下来,我会(对于任何寻找我正在寻找和绊倒这个问题的人):
阅读此stackoverflows:
看这个视频:
http://excess.org/article/2008/07/ogre-git-tutorial/
在理解手册的基础知识时,我将其缩小到颠覆(+ TortoiseSVN)和git(hub),这是最常用和最受欢迎的.我现在只有github的问题是私有存储库是付费的,所以我会查找不同的git解决方案或者更多地查看Subversion.
非常感谢大家,我提出了最有帮助的答案,也感谢您的评论.亚当
编辑:尝试Mercurial,但发现我的工作流程不行......现在尝试颠覆,所以我标记了最老的颠覆答案:)