1

我正在使用 GIT GUI 来跟踪对我们日常开发任务和代码/文件更改所做的更改。

目前我从事网络开发,主要是网站。我为每个网站文件夹使用 GIT 存档,其中包含与项目相关的所有文件和文档。

通常,GIT 抱怨存档中有很多项目,为了保持存档的快速和优化,建议我压缩存档。

这样做安全吗?压缩存档的优势是否会超过压缩可能导致的最终问题(是否值得)?

我特别担心潜在的存档损坏或我可能不知道的已知问题/错误。

4

3 回答 3

3

Git 存储库格式是健壮的并且经过很好的测试。进行存储库压缩是安全的。

话虽如此,备份总是一个好主意。

于 2011-12-06T08:13:52.370 回答
2

如果您正在谈论,git gc那么它是非常安全的,并且不会丢失任何数据。

Git 会定期运行它自己,但在 repo 超过一定大小之前它不会做任何事情。

正如 Greg 所说,始终备份您的存储库。

git gc --prune 是另一回事。这将从 repo 中删除所有未引用的对象,这可能不是您想要的(您可能希望稍后恢复其中之一)。

于 2011-12-06T08:30:03.073 回答
0

TL;DR:是的,执行 git 存储库优化是安全的,但一定要备份并测试它们。

我猜你的意思是“压缩” git gc

在给定环境(机器稳定性、RAM 和存储可靠性)的情况下,操作尽可能安全。

然而,所有计算机都有一个弱点:存储空间。请注意,git gc有时(自相矛盾地)可能会暂时增加存储库的大小(由于解包可能要删除但尚未删除的对象)。如果机器的存储空间不足,这可能会阻止操作成功,或妨碍后续工作。此外,git gc可能需要大量内存(例如,大于磁盘存储库大小),如果系统无法应对,则会失败。

也就是说,我从未见过看似由git gc.

如果您的备份是克隆存储库,请注意:有些项目(分支、轻量级标签、常规标签、配置、挂钩等)不会在存储库之间自动传输,有些是部分或仅在某些情况下,具有复杂的规则。

由于您担心数据安全,因此安全的最佳选择(这是一般性的,并非特定于 git)是给自己一个定期备份 + 崩溃恢复过程。然后,不时给自己一个隔离的测试恢复环境(它可以像另一台计算机上的文件夹或虚拟机一样简单,具体取决于上下文)。然后在该环境中完全运行您的恢复程序,并检查您的宝贵数据和流程是否从备份中再次完全正常运行,而不需要您的主存储。这样,您就知道如果主存储崩溃了,您仍然是安全的。

于 2016-01-08T13:35:54.493 回答