我知道 git 会拒绝推送到非裸存储库,但 hg 似乎没有……这是否意味着我在使用 hg 克隆时不需要担心裸存储?我已经尝试过(在下面的 pastebin 中),我没有看到这种方法有任何问题,但是我无法找到问题与没有问题不同。另外,我在我的 .hgrc 中启用了自动推送...
问问题
95 次
1 回答
2
当您推送时,Mercurial 不会自动合并任何内容,因此推送到非裸存储库是完全安全的。这就是为什么 Mercurial 不区分裸存储库和非裸存储库的原因 - 裸存储库只是工作目录处于null
修订版(即在初始提交之前)的地方。
如果您将新头推到现有分支,Mercurial 将要求您指定hg push -f
. 这是因为在同一个分支上有多个头会给其他开发人员带来额外的复杂性,并可能导致头以不同的方式合并,从而导致级联不必要的合并。
您通常应该遵循的工作流程是pull;将您的新头像合并到现有头像;推。当然,这也很大程度上取决于您使用的分支策略 - 使用书签(相当于 git 分支)或匿名分支任务的策略通常会在同一个命名分支上出现多个头,而使用命名分支的任务倾向于不。
于 2013-08-15T19:36:00.960 回答