我有一个关于Mercurial的新手问题。
我和一位朋友刚刚开始合作完成一个项目。我们使用BitBucket。
但是我们怎样才能以良好的方式使用mercurial和BitBucket?我的意思是,如果我编辑文件而我的朋友编辑同一个文件?每次提交后,我们如何更新我们当地的工作回购?
答案 0 :(得分:2)
您应该能够将远程更改拉入本地存储库。请参阅Pulling Changes into a Bitbucket Repository作为实际执行方式的起点。
答案 1 :(得分:1)
每次提交后,您的本地工作回购都会更新。 如果您希望反映本地工作仓库中的(一组)更改 在中央或主回购中,你应该使用hg push
如果您想从主仓库获取朋友的更新,您应该使用hg pull。
可能的做法是:
在本地工作之前
hg pull
hg update
在本地进行更改后
hg commit
当您确定希望其他人看到您的更改时
hg push
答案 2 :(得分:0)
您将能够每个克隆存储库,在本地工作并重新合并。但是,您应该遵循这一过程以取得成功:
在开始任何新事物之前:
hg pull -u
在一个命令中执行pull和update操作。
做你的工作:
hg commit -m "Some commit message"
如果您现在想要将更改推送到远程仓库,则需要先检查是否有任何传入更改:
hg incoming
这将为您提供有关传入提交的一些信息,但不会删除任何内容。
hg pull
hg merge
这将提取更改并将您的提交与刚下拉的提交合并。由于这是另一个更改(合并操作),您需要另一个:
hg commit -m "Merged my changes with remote"
hg push
最后,推送会将更改推送到远程仓库。
我建议阅读Hg Book,这将深入研究指定要合并的修订版本的更复杂主题(例如,使用hg merge -r12345
)。