虽然我知道您可以使用第二个存储库进行备份,或者创建名为“privateBranchOfXcompletelyBrokenBackupOnly”的分支,但我很想知道本地支持远程私有分支的版本控制系统。
编辑:忘了告诉它应该是远程私密的。似乎只是镜像推送到私人回购模仿这个。
答案 0 :(得分:5)
新一代DVCS(例如我使用的Git)的一大优点是,个人开发人员可以很好地控制他们选择的工作方式。使用Git,我可以创建自己的私有分支,这对我来说意味着特定的东西,但不一定是其他任何人,并且在本地工作,而不需要任何其他人知道它们的存在。我可以在这些分支之间移动更改,对提交进行排序和组织,并且只有在我准备好共享它们时才将我的更改推送到上游。
使用CVS甚至Subversion等集中式系统,创建分支是一项世界级的重量级操作,实际上会更改共享存储库。你必须勤于命名你的分支(所以个别开发人员不要碰撞)并在你完成后手动清理。
说到上面的话,Git也很容易支持公共分支,我可以创建一个分支,做一些工作,并将其推向上游,以便其他人可以与我合作。或者,我可以创建一个分支,同事可以直接从我这里拿出它而不必与每个人分享。
网站Why Git is Better Than X提供了有关此功能的更多信息。事实上,第一项标题为“廉价本地分支”。
答案 1 :(得分:2)
Git在本地处理私有分支方面表现出色。每个开发人员都可以获得他们可以随意使用的分支,然后当他们准备与其他开发人员共享他们的更改时,他们只需将他们的更改合并到主分支中。
对于每个人或每个项目来说,这当然不是完美的,但在许多情况下,这种方法有一些很大的好处。
答案 2 :(得分:2)
任何DVCS,如Bazaar,Mercurial,Darcs或Git,都支持私人分支机构。
答案 3 :(得分:1)
正如所说的任何DVCS应该做的,但是如果你也喜欢它们“本地” - 就像你在同一目录中的分支之间切换(我发现它非常宝贵)你应该更喜欢这里的git。 Hg对这个“本地”分支有一些支持,但是一旦你使用它们,你就可以清楚地看到它们的区别,并且它不会使hg看起来有任何好处。
工作流程不能简单:
1.' git clone git:// some_server / some_repo '
2.' git checkout -b your_branch_name '
3.'做一些工作'
4.' git checkout master '(或其他一些分支名称,如果你不使用master)
5.' git rebase your_branch_name '
6.' git push '或其他一些“git” - 出版你的作品的意思
最好的事情 - 一切都发生在一个目录中,没有更多的东西像:checkout.000 checkout.001 checkout.002:)