所以我有一个旧的,旧的Mercurial存储库,其中大多数初始开发都已完成。
然后,项目发布,存储库被遗忘,下一个网站管理员通过直接编辑文件接管。
最终将其移至(新)Git存储库,最近所有更改都在那里。
现在我想移动新的Git存储库,并将其置于旧的Mercurial存储库之上,使整个事物成为Git存储库,所有提交仍然完好无损。我该怎么做呢? (由于版本控制的更改,旧存储库的末尾和新存储库的开头不一样)
我对Mercurial没有任何经验,但对Git有合理的经验。这一切都在BitBucket上。
编辑:我想我需要Git rebase,但我不确定如何使用它,更不用说将它与Mercurial链接。
答案 0 :(得分:0)
由于回购已经发布,实际上还没有办法实现。
Git带有一个python脚本,用于将hg repos转换为git,名为hg-to-git.py
(通常安装为/usr/share/git/hg-to-git/hg-to-git.py
)
首先提交hg repo中任何未经修改的更改,然后:
# this will create a .git folder in your old hg repo, leaves .hg untouched
$ python2 /usr/share/git/hg-to-git/hg-to-git.py $PATH_TO_REPO
$ cd your-git-repo
$ git remote add hg-repo $PATH_TO_REPO && git remote update
# create an orphaned empty branch, repeat for each hg branch name.
$ git checkout --orphan original && git rm -rf .
$ git merge hg/master