【发布时间】:2012-05-31 19:31:36
【问题描述】:
我刚刚在迁移后丢失了存储库的 .hg* 文件,并且我对某些代码进行了一堆未推送的更改。
我需要初始化一个新的存储库,然后将我的更改推送到现有的远程存储库。我是否只需要初始化一个新的 repo,然后在 hgrc 中指定远程 repo 并推送?谢谢!
【问题讨论】:
标签: mercurial repository hgrc
我刚刚在迁移后丢失了存储库的 .hg* 文件,并且我对某些代码进行了一堆未推送的更改。
我需要初始化一个新的存储库,然后将我的更改推送到现有的远程存储库。我是否只需要初始化一个新的 repo,然后在 hgrc 中指定远程 repo 并推送?谢谢!
【问题讨论】:
标签: mercurial repository hgrc
如果您记得原始存储库中的变更集作为其工作父级(我们称之为A),那么您可以这样做:
$ hg clone http://server/upstream newrepo
$ cd newrepo
$ hg up A
然后将原始存储库的工作副本复制到新存储库(如果您重命名/删除旧存储库中的任何内容,请注意从新存储库中删除所有文件)。之后,从新的 repo 提交并推送:
$ hg commit
$ hg push
如果上游 repo 在 A 之上有任何内容,则在推送之前进行 rebase 或合并。
【讨论】: