C# 使用数据库编写自己的版本控制系统?
我想知道解决这个问题的最佳方法是:C# 使用数据库编写自己的版本控制系统?,c#,database-design,database-schema,C#,Database Design,Database Schema,我想知道解决这个问题的最佳方法是: 用户编写文章并按save。(保存到数据库中) 用户编辑上一篇文章并按save。(比如git提交) 重复 在用户编辑文章的每个阶段,我想向用户展示在每次提交期间所做的更改(添加和删除) 我想到了两种方法: 将文章内容的所有迭代保存在数据库中。Aka为每个保存创建一个新行,包含文章的全部内容。然后,通过检查差异来比较后端中的文件 +-----------+---------+----------------------------+ | ArticleID | V
+-----------+---------+----------------------------+
| ArticleID | Version | Body |
+-----------+---------+----------------------------+
| 1 | 3 | This is a random article. |
| 1 | 2 | This is a random article |
| 1 | 1 | a random article |
+-----------+---------+----------------------------+
+-----------+---------+-------------------+-------------------+---+
| ArticleID | Version | CharacterPosition | + | - |
+-----------+---------+-------------------+-------------------+---+
| 1 | 3 | 24 | . | |
| 1 | 2 | 0 | This is | |
| 1 | 1 | 0 | a random article | |
+-----------+---------+-------------------+-------------------+---+
我建议选择1。如果您使用选项二,当某些人从不同位置添加或删除字符时,您将遇到麻烦。此外,如果您想了解三个版本的区别,那么它会给您带来一些编码困难。好的,cvs、svn、git、tfs。。。使用差分法。这告诉你什么?