重播git使用不同的根提交repo

 手机用户2702937647 发布于 2023-02-07 04:58

我是sourceforge上FreeGLUT项目的当前维护者之一.这段代码存储在SVN仓库中,但为了激发其他人的贡献,我想提供一个git repo.我已经在github上有一个svn trunk的git-svn克隆目前在github上(通过SmartGit制作,实际上与git-svn并不真正兼容).

我通过克隆来做到这一点https://svn.code.sf.net/p/freeglut/code/trunk/freeglut.但是,我现在发现我应该克隆https://svn.code.sf.net/p/freeglut/code并让SmartGit的svn网桥弄清楚树枝和树干.

我在本地创建了这个新的正确克隆.现在的问题是:我已经在我的本地git repo中提交了一些旧的/错误的克隆提交.我想将这些转移到我的新仓库,但由于磁盘上的根目录不一样,这里概述的简单的rebase策略不起作用(我认为).

我可以用补丁来做,因为在补丁文件中为路径添加前缀git apply--directory参数可以使事情有效,但是我必须通过提交来进行提交.至少,我还没有找到一种方法将多个提交放在一个补丁文件中(没有挤压)并在我的顶部重放它们HEAD.

如何最好地解决我的问题?

1 个回答
  • 好吧,事实证明:

      git format-patch 可以生成包含一系列提交的文件,例如整个分支.

      git am使用该--directory选项可以逐个重播补丁文件中包含的提交(请参阅此处)并为我提交它们.

    问题解决了!

    2023-02-07 05:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有