tbo*_*der 2 svn git version-control revision
我打算创建比以前的项目更大的项目,所以我认为使用像svn或git这样的修订控制系统来跟踪所有更改,在代码中尝试一些新的功能会更好没有风险等等.
现在(除了我是否应该使用svn或git的问题),我问自己"如何使用"这样的系统.
到现在为止,我发现类似的词汇树干,标签和分支(这个词合并经常出现在这方面).但我不确定如何真正与他们合作.标签似乎是发布版本(如果不是请纠正我),但我不知道在主干或分支中真正属于什么; 何时使用什么等..
在我的研究过程中,我还建议您通常应该为新项目创建一个包含子文件夹分支,标签和主干的文件夹结构.你还推荐这个吗?或者我应该以不同的方式处理项目的源代码?
有人可以试着向我解释一下吗?
版本控制系统的主题可能有点太大,无法作为Stack Overflow等问答网站的一部分进行教学.你当然欢迎提出有关他们的问题,但"任何人都可以告诉我所有我需要知道的事情"可能不是正确的地方.
如果您对分布式版本控制系统感兴趣,既然您已经提到了git,那么您应该看看hginit.com.虽然该网站描述了Mercurial,但大多数(如果不是全部)也适用于git.
至于创建这些文件夹的建议,这完全取决于您决定使用的版本控制系统.
Subversion使用文件夹级"副本"来创建分支.可以把它想象成同时在磁盘上拥有多个项目副本,并且Subversion允许您将更改从一个文件夹合并到另一个文件夹,并跟踪您合并的内容,时间和方向.
对于DVCS',这是不必要的,因为分支是以不同的方式完成的,因此您不需要这些目录.
您列出的词汇可以总结如下(请注意,因为我使用Mercurial,我可能会因为他们在该系统中的使用而着色):
在对修订控制维基百科的文章也有相当多有用的信息.
该水银词汇表还列出了相当数量的术语及其水银的使用,以及多数的信息是许多版本控制系统实现.
无论如何,这是一个典型的(无论如何)我做项目的方式.
这只是一种方法,有很多.如果你问他们,人们会告诉你他们的首选方式,我不会说我的方式是正确的.
您可以开始查看http://www.infoq.com/articles/agile-version-control和http://nvie.com/posts/a-successful-git-branching-model/
也是trunk-tag-branch
svn中使用的一个过时的架构.DSCM(mercurial,git)对分支和标记具有本机支持,因此您无需显式创建这些目录.