version-control - 源代码控制背后的理论(和术语)

标签 version-control

我已经尝试在几个项目中使用源代码控制,但仍然没有真正理解它。对于这些项目,我们使用了 TortoiseSVN 并且只有一行修订。 (没有主干、分支或任何一个。)如果有推荐的方法来设置源代码控制系统,它们是什么?以这种方式设置它的原因和好处是什么?集中式源代码控制系统和分布式源代码控制系统的工作方式之间的根本区别是什么?

最佳答案

将源代码管理视为源代码的巨大“撤消”按钮。每次 checkin 时,都会添加一个可以回滚的点。即使您不使用分支/合并,仅此功能就非常有值(value)。

此外,通过拥有一个“权威”版本的源代码管理,备份变得更加容易。

集中式与分布式...区别在于,在分布式中,不一定有一个“权威”版本的源代码控制,尽管在实践中人们通常仍然拥有主树。

分布式源代码控制的一大优势有两个方面:

  • 当您使用分布式源代码控制时,您在本地机器上拥有整个源代码树。您可以提交、创建分支并像独自一人一样工作,然后当您准备好推送更改时,您可以将它们从您的机器提升到主副本。如果您经常“离线”工作,这可能是一个巨大的好处。
  • 您无需征得任何人的许可即可成为源代码管理的分发者。如果 A 正在运行该项目,但 B 和 C 想要进行更改并相互共享这些更改,则使用分布式源代码控制会变得更加容易。
  • 关于version-control - 源代码控制背后的理论(和术语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460/

    相关文章:

    添加后 git 仍未跟踪

    git - 如何在 Git 中查找带有常量的 'lost' 代码

    svn - 在 Mercurial/Hg 中 check out 文件

    git - 我如何编辑一个包含数百个 merge 和 merge 冲突的 Git 提交?

    version-control - 您是否将开发/运行时工具放在存储库中?

    git - 存储库中存储测试数据的位置?

    git - 如何使用 TortoiseGit 重新排序提交( rebase )

    svn - 使用 Tortoise SVN 查看前几天所有更改的最简单方法是什么?

    svn - Vaadin 为版本控制添加什么

    Git: pull 错了分支,然后推送了 merge 。如何撤消?