【发布时间】:2013-11-07 17:29:27
【问题描述】:
我想将数据库文本备份保存到 Git,以便在版本之间进行更改和差异。这将是一个 shell 脚本:
- 将数据库脚本获取到文件中。
- git 的东西。
“git stuff”可能会使用 github remote add + commit + push 将文件添加到 Git 存储库。
对于 Git 专家来说,处理这个文件的更好选择是什么?我认为这个脚本将在数据库服务器中运行,不需要存储库中的所有文件。我在这里看到了一些选项,例如 git archive、git fetch 和 git sparse-checkout,但我并没有真正找到最佳选项。
【问题讨论】:
-
当您说“数据库”时,您所指的数据量大约是多少?
-
将是一个 MongoDB JS 脚本(Json 对象)。我们的数据库很小,最多 2mb。我认为文件大小不会有问题。谢谢
-
与您的问题无关,但根据标题来到这里的任何人都可能对Gist 感兴趣。
-
请记住,每次推送时,git 都会添加整个文件的新副本,而不仅仅是差异。根据您推送的频率,您的 git 存储库可能会变得非常大。
-
@jwygralak67:实际上,这不是真的。在内部,git 将 blob 存储为差异(“增量压缩”)——对于文本文件尤其有效。
标签: git shell database-backups