注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

将项目从HG迁移至Git | Converting Hg repositories to Git  

2015-07-21 20:38:18|  分类: 开发工具箱 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

将项目从HG迁移至Git - 傲风 - 0与1构筑世界,程序员创造时代
 

GIT对多分支有着非常好的支持,团队的项目逐渐从HG迁移至GIT。迁移后,如何能保留原来HG项目中的提交历史和tag,是一个必须要解决的问题,fast-export正是因此而产生。

预备

  • 需要迁移的HG项目本地路径:/devdata/projects/game/threadpool-jws-merge
  • 迁移的目的GIT仓库:git@git.aofeng.local:jws-module/threadpool.git

迁移过程

1、获取fast-export工具。

cd $OPEN_SOURCE_DIR
git clone git://repo.or.cz/fast-export.git

说明:

  • $OPEN_SOURCE_DIR为存放开源项目的目录 ,如:/devdata/projects/open_source/

2、新建GIT本地仓库并初始化。

cd $GIT_REPO_ROOT
mkdir threadpool-jws

cd threadpool-jws
git init

说明:

  • $GIT_REPO_ROOT为存放GIT项目的目录 ,如:/devdata/projects/git/

3、使用fast-export将HG项目转换成GIT项目。

$OPEN_SOURCE_DIR/fast-export/hg-fast-export.sh -r <HG项目本地仓库路径>

说明:

  • 执行上述转换命令后,在$GIT_REPO_ROOT/threadpool-jws下面生成了一个.git目录,存放的是从HG项目转换后的GIT版本信息,原来的HG项目不受影响。
  • 当前例子中<HG项目本地仓库路径>为/devdata/projects/game/threadpool-jws-merge。

4、将本地GIT仓库与远程GIT仓库建立关联并推送代码。

git checkout HEAD
git remote add origin <迁移的目的GIT仓库>
git push origin master

说明;

  • 当前例子中<迁移的目的GIT仓库>为 git@git.aofeng.local:jws-module/threadpool.git

5、将标签(tag)推送至远程GIT仓库。

git push origin --tags

<正文>


文章声明


作者:傲风(aofengblog@163.com)       编写时间:2015年07月21日

网址:http://aofengblog.blog.163.com

作者保留所有权利,转载请保留文章全部内容或者说明原作者和转载地址!

  评论这张
 
阅读(565)| 评论(4)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017