更好的版本控制(分布式) - 对源的最小影响 - 始终可以更新

时间:2010-06-10 09:51:43

标签: git version-control mercurial bazaar

我...厌倦了Subversion。需要一个版本控制:

  1. 可以在不影响嵌入文件的源(如Subversion .svn目录)的情况下使用,或者必须签入然后签出(如果你想版本控制实时网站文件)。
  2. 无论我做了什么(无需解决冲突或首先添加文件等),应该始终可以快速更新存储库。
  3. 理想情况下,应该可以合并从单独开始的存储库。
  4. 我认为它应该是分布式的,我认为GIT是 Lingua Franca ,但也有Mercurial和Bazaar,它们应该具有一些优势,因为它们存在: - )


    1 除了3分之外,主要标准是软件开发人员最了解和使用的标准: - )


    2 关于点2的一个例子:在Drupal中我可能会移动目录结构,删除一些结构,添加一些3d派对。理想情况下,存储库应该准确存储已发生的事情,但有时我只想在存储库中获取实际结构的快照而不花时间。 (在理想的SCM系统中,您可以稍后填写详细信息。)

3 个答案:

答案 0 :(得分:4)

我只是回答集市:

  1. root中的一个.bzr目录,就像git一样。此外,根目录下还有一个可选的.bzrignore文件,其中包含被忽略的目录/文件列表。
  2. 当你更新/拉动时,可能存在一些冲突。如果你想在更新/拉动之前,你可以搁置你的更改。这基本上会搁置你所有的变化。然后你更新/拉取你的工作目录是最新版本。
  3. 是的,你可以这样做。有一个特殊的'join'-command。此命令将集成另一个分支,并将保留两者的完整历史记录。
  4. 我认为最终所有三个人,Git,Mercurial和Bazaar都会做这个工作。这三个版本控制系统非常相似。

答案 1 :(得分:1)

刚才谈到git:

  1. 根目录中的一个.git目录。
  2. git stash,git pull,git stash pop(如果这是你想要的)
  3. How do you merge two Git repositories?

答案 2 :(得分:1)

Mercurial完成所有3分。它虽然在根目录中有一个.hg目录。