如何在不丢失分支的情况下将mercurial存储库转换为git存储库?

我想将Merurial回购转换为git回购。其实我做到了,但是我没有看到分支。转换回购后,我只能看到一个分支(作为主分支),看不到任何其他分支,但可以看到正确的历史记录(所有更改)。当单击任何提交时,我可以看到以下信息:

Date: 19 Nisan 2019 Cuma 15:14:37
Committer: sevgi.cakmak
Change dialog header

--HG--
branch : sevgi-2.0.0   

但我看不到左侧的sevgi-2.0.0分支(我正在使用sourcetree)。

我的步骤:

mercurial.ini文件:

[extensions]
strip = 
histedit = 
rebase = 
hggit = C:\Users\sevgi.cakmak\Desktop\hg-git\hggit
hgext.bookmarks =

[git]
intree = True

hg bookmark -r 2.0.0 master(也尝试这样hg bookmark -r default master:),然后我从cmd开始处理这行

hg gexport --debug //this line converting all revision

工作这行后,我的输出是这样的:

converting revision a318482e0769e2fceb13a1545cb477d60a00b434
converting revision e444655d161131f9ed1676f6c175813097fd18g8
converting revision 0ab06d22eaf4ff4ecb96caba343fdcc3a85e367k
converting revision 8a4e7f4defb0b04e76e67a825bedf746fe4f3fc5  ......etc

然后我工作这条线git config --bool core.bare false毕竟,我确实打开了.git下的branchs文件夹,这个较旧的为空。我想在我的仓库中看到分支。

参考:https : //helgeklein.com/blog/2015/06/converting-mercurial-repositories-to-git-on-windows/

我也尝试了快速导出,但是没有用。

特长

文档部分用法

Hg-Git将您的书签作为分支推送到Git服务器,并将下拉Git分支并将其设置为书签。

...

组态

...

git.branch_bookmark_suffix

hg-git不会在Mercurial命名分支和git分支之间进行转换,因为两者在概念上是不同的;相反,它使用Mercurial书签来表示git分支的概念。因此,将hg仓库转换为git时,通常需要创建书签以镜像希望将其转移到git的所有命名分支。主要的警告是,您不能为书签使用与命名分支相同的名称,此外,在Mercurial中没有可行的方法来重命名分支。

对于一个人希望将hg存储库转移到git,并保持与hg端相同的命名分支的用例,branch_bookmark_suffix可能就需要这些。这提供了一个字符串“后缀”,该字符串将在每个书签名称上被识别,并在将书签翻译为git分支时被剥离:

[git]
branch_bookmark_suffix=_bookmark

上方,如果某个汞仓库有一个名为的命名分支release_6_maintenance,则可以将其链接到名为的书签release_6_maintenance_bookmark然后,hg-git_bookmark将从该书签名称中删除后缀,并创建一个名为的git分支release_6_maintenance当从git拉回到hg时,_bookmark如果且仅当存在具有该名称的hg命名分支时,才应用后缀。例如,将对release_6_maintenance分支的更改签入git后,这些更改将被放入release_6_maintenance_bookmarkhg书签中。但是,如果将一个名为的新分支release_7_maintenance拉到hg上,并且还没有release_7_maintenance命名分支,则该书签将被命名release_7_maintenance而不使用后缀。

branch_bookmark_suffix选项与authors选项类似,用于迁移旧版hg命名分支。展望未来,要与git repo链接的hg repo应该仅使用书签进行命名分支。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不更改主分支的情况下更改本地 git 存储库的功能分支?

如何在不丢失历史记录的情况下将本地git存储库从PC移动到Mac

如何在不添加远程的情况下将提交推送到 git 存储库?

如何在不指定每个分支的情况下将git存储库的所有分支克隆到它们自己的文件夹中?

如何将带有分支的Git存储库转换为可用的Mercurial存储库?

(Git) 在不丢失当前更改的情况下将先前的提交推送到新的存储库

如何在不每次输入密码的情况下将更改推送到远程存储库?

在git存储库中,如何在不丢失Git历史记录的情况下删除旧的已重命名的“大写”文件夹

如何在Windows上将CVS存储库转换为Mercurial?

如何在不下载整个存储库的情况下“拉” git数据库

如何在不破坏文件历史记录的情况下合并多个Git存储库?

如何在不丢失数据的情况下将MBR分区转换为GPT?

如何在不丢失列的情况下将列(类别类型)转换为列?

如何在不丢失前导零的情况下将String转换为Long

如何在不丢失Java格式的情况下将HTML内容转换为PDF?

如何在不丢失信息的情况下将因子转换为整数\数字?

如何在不丢失列表结构的情况下将列表项转换为 unicode

如何在不丢失数据的情况下将MBR HDD转换为GPT?

如何在不丢失段落的情况下将html转换为doc?

如何在不授予其访问所有存储库的权限的情况下将 Azure Devops 与 GitHub 连接?

Git:在不丢失历史记录的情况下将子文件夹从存储库获取到新文件夹

如何在不更新从中克隆的本地存储库的情况下设置 git 存储库的远程 url?

使用存储库模式,如何在不创建泄漏抽象的情况下引用域模型?

如何在不设置全局凭据的情况下提交共享存储库?

如何在不转换为数组的情况下将数字添加为 firebase 实时数据库子项?

如何将旧的SVN存储库转换为GIT,并在以后创建主干/分支

如何在不进入存储库的情况下执行Git命令?

如何在没有 git 存储库的情况下使用本地 SPM 包?

Git-如何在不从存储库中删除回购文件的情况下将其删除?