在本章中,我们将讨论有关版本控制系统的生命周期。在后面的章节中,我们将看到Subversion命令为每个操作。
建立资料库:
该库是开发人员存储他们所有的工作一个中央地方。资源库不仅存储文件,而且还变更历史。这意味着它保持历史是谁做的变化,何时和为什么?
创建操作是用来创建一个新的资料库。大部分的时候只有一次操作完成。当创建一个新的存储库,VCS将期待你说的东西,比如,想让它被创建,它的名称应该是什么,以确定它。
检出:
检出操作用于从资源库中创建一个工作副本。工作副本是一个私有工作场所的开发人员做他们的变化,后来就到存储库提交这些变化。
更新:
顾名思义更新操作是用来更新工作副本。此操作同步与存储库的工作副本。由于共享库是由所有的团队,其他开发人员可以提交他们的修改你的工作副本变成了旧的。
让我们假设Tom 和 Jerry 两个开发人员工作的一个项目。两者检出从库中的最新版本,并开始工作。此时他们的工作拷贝与存储库是完全同步的。杰里完成他的工作非常有效,并提交自己的修改到版本库。
现在,Tom 的工作副本是过时了。从资源库中,更新操作将Jerry 的最新变化,将Tom 的工作副本更新。
执行更改:
检出后可以做各种操作进行更改。编辑是最常见的操作。一个可以编辑现有的文件,从文件中添加/删除的内容。
人们可以添加文件/目录。但随即这些文件/目录不会成为存储库中的一部分,而不是将它们添加到挂起的更改列表,并成为后提交操作的库中的一部分。
同样,一个可以删除的文件/目录。立即删除操作,删除文件,从工作副本,但实际删除文件添加到挂起的更改列表和操作提交到存储库后所做的更改。
重命名操作更改文件/目录的名称。用于移动从一个地方到另一个存储库树中的文件/目录移动操作。
回顾变化:
当检出的工作副本或更新工作副本,然后工作副本完全同步与存储库。但是当工作副本的变化,它变得比库新。这是很好的做法,审查更改,然后再提交操作。
状态操作列出了已经取得的工作副本的修改。正如我之前提到的,只要做的工作副本的变化,所有这些变化成为挂起的更改列表的一部分。和状态操作用于查看挂起的更改列表。
状态操作,只提供了一系列的变化,但不是关于他们的详细资料。我们可以使用diff操作已作出的修改的工作副本中查看详细信息。
修正错误:
让我们假设一个改变自己的工作副本,但现在他要扔掉这些变化。在这种情况下,恢复操作会有所帮助。
恢复操作撤销已作出的工作副本的修改。这是可能的一个或多个文件/目录恢复。也有可能整个工作副本恢复,在这种情况下,恢复操作会破坏挂起的更改列表,并会带来工作副本返回到原来的状态。
解决冲突:
在合并时,可能会发生冲突。但是,什么是冲突?合并操作自动处理,可以做到安全的一切。一切被视为冲突。例如,如果“hello.c”文件被修改的分支,并在另一个分支删除?这种情况需要一个人作出决定。决心操作是用来帮助用户数字的东西,并告知VCS冲突应如何处理。
提交更改:
提交操作是用来申请工作副本到版本库的变化。此操作修改库和其他开发人员可以通过更新他们的工作副本,看到这些变化。
之前提交一个挂起的更改列表添加文件/目录。这是改变的地方等待提交。有了提交,我们通常会提供一个日志消息来解释为什么有人做了修改。此日志消息的一部分的历史资料库。提交是一个原子操作。含义的成功,要么全部提交或回滚。用户永远不会看到一半完成提交。