git - Hg/Git 存储库损坏问题有多大?

标签 git version-control mercurial

环境:14 名左右的工程师/物理学家/数学家(阅读:没有人真正有兴趣将时间花在诸如 repo 维护和类似事情上)

就当今的软件工程而言,他们将在相当小的项目中使用它,但可以预料,许多非代码的东西也会在那里结束(数据文件、一些图像、一些 PDF 和 word文档 ... 没有什么大的,但它会和源文件一起放在里面)。

在使用 Hg 或 Git 时,这种环境中的存储库损坏在多大程度上是个问题?

平台:Windows 和 Mac(主要是 Windows)

最佳答案

就我个人而言(使用 Mercurial),我从未遇到过技术损坏的存储库。实际上,我想说的是,仅使用常规命令(添加/删除文件、提交、推送、 pull 、 merge )时,损坏存储库的机会非常非常低。

当您开始研究历史时,事情可能会变得更加复杂,例如永久删除变更集、 rebase 分支、折叠变更集——这些行为本质上是破坏性的。然而,虽然您可以在 Mercurial 中进行破坏性操作,但您必须显式启用相应的命令,并且通常会在执行可能有问题的命令之前收到有意义的警告。

据我所知,Git 在破坏存储库方面的障碍较少,因为它默认支持更具破坏性的操作(Git 用户,如果我错了请纠正我)。

最后你不应该太在意: DVCS 的一大优势是每个克隆都是一个独立的完整存储库。如果存储库损坏,则只有一个或少数开发人员受此问题影响。如果问题无法解决,请从中央仓库或同事的仓库重新克隆并继续在该状态下工作。

关于git - Hg/Git 存储库损坏问题有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127040/

相关文章:

git - 在 VSCode 中克隆 GitHub 存储库

Git 和 SVN 在同一个系统上?

version-control - Mercurial (hg) 仅提交某些文件

git - 使用 LibGit2Sharp 的 Bitbucket 身份验证

mercurial - 在 Mercurial 中 merge 时排除文件

mercurial - Mercurial 中不区分大小写的差异

git - 在 git revert 中给 -m 开关赋予什么值?

git - 警告 "redirecting to"到底是什么意思?

visual-studio-2015 - 现在删除 .tfignore 文件中已 checkin 的文件

azure - 是否可以禁用 Azure Functions 的手动发布?