我刚开始学习git并且这样做我开始阅读Git社区书,在本书中他们说SVN和CVS存储文件之间的差异,而git存储所有文件的快照.
但我并没有真正了解快照的含义.git是否真的复制了每个提交中的所有文件,因为这是我从他们的解释中理解的.
PS:如果有任何人有更好的学习git的来源我会很感激.
我需要在应用程序中构建"版本控制",并且想知道如何最好地接近它.
我有这个一般模式:
模型A有很多B
在更新时,A的属性需要进行版本控制,其关联对象(B)也需要进行版本控制.因此,应用程序将显示A的当前版本,但也必须能够查看以前版本的A及其关联对象.
我想使用文档存储,但这只是应用程序的一部分,并且拥有doc存储和关系数据库会带来更多的复杂性.
我考虑过使用星型模式,但在我进步之前,我想知道是否有一个设计模式可以解决这个问题?
这个问题倾向于解决在关系数据库中存储关联对象的版本的问题.哪里有固有的需要能够有效地查询数据(即序列化对象是不够的).
更新:我在想什么/已实施但想看看它是"更好的方式"
,---------. 1 * ,--------.
| Model A |----------| Model B|
`---------' `--------'
|PK | | a_id |
|b_version| |version |
|version | `--------'
`---------'
Run Code Online (Sandbox Code Playgroud)
我将复制模型A和所有相关的B并增加版本属性.然后通过b_version和b.version进行选择以加入B'.只是想知道这是否可以做得更好.