当我完成一次完全重写时使用Mercurial

时间:2010-12-20 23:07:14

标签: mercurial repository

这是我的存储库:

https://bitbucket.org/sergiotapia/sharpdic

基本上,我重写了整个图书馆。它根本不像原版。我可以运行什么命令来完全删除/忽略现有代码库并将其替换为我的新代码版本?

我在本地光盘上的文件夹上做了hg init(它有更新的代码),在尝试上传之前是否必须删除它?

感谢。

1 个答案:

答案 0 :(得分:3)

只需转到修订版0(hg up null),提交(创建一个新分支),然后关闭旧分支。如果不完全取代回购,我就会这样做。

我假设你的新文件目前在repo目录中尚未。先备份!

hg up tip -C
hg commit -m 'Old code branch' --close-branch
hg up null -C

您现在将拥有一个空的reporsitory directoy,从修订版0开始。将新文件复制到其中(不要从新文件目录中复制.hg文件夹)。

hg addremove
hg commit -m 'New code branch'

这应该可以解决问题。我提到先备份文件和回购吗? ; - )

另一个选择是强制将新的repo推送到远程仓库,但是在执行此操作之后,您仍然需要关闭旧分支,以便只有一个活动头。如果你已经提交到nbew repo,那么选择这个选项(你只提到做了一个init,所以我还没有提交任何提交)。