我有一个拥有主分支和稳定分支的项目 - 分支早已分歧。现在我在stable分支上有了一些提交,我也希望在master分支上有一个bug(一个bug修复)。我无法合并,因为分支发散,有大量未合并的更改 - 我只想要4次提交。对分散的GIT分支应用相同的更改
所以我尝试樱桃采摘。但是,由于顶级模块名称从“项目模块”方案更改为“模块”,因此失败。当采摘樱桃时,GIT在旧目录中创建新文件(如在旧分支上):未检测到重命名。这可能是因为我得到这样的警告:
warning: too many files (created: 278 deleted: 5364), skipping inexact rename detection
我尝试git的格式补丁+ git am的,但是这一次会在旧目录中的文件。
如何将提交应用到主分支?
感谢, 亚当
我停止得到错误,但是樱桃挑选仍旧创建旧分支中的目录,而不是修补新分支中的文件。 我想我需要一种方法来应用一些提交,做一些路径转换......除了git format-patch +旧的UNIX补丁-n之外的任何其他方式? 感谢您与共同的祖先提示,我会在下次尝试。虽然在这里我合并了一个拉取请求,所以我没有太多的控制权什么是父... – adamw 2010-10-22 13:25:30
嗯,是的,我可能会回到“手动”(即'sed')补丁编辑。你应该仍然使用'git apply',而不是'patch'。它支持git对补丁格式所做的所有扩展。 – Cascabel 2010-10-22 13:58:22
@adamw:我只是注意到在git.git中提交:[merge-recursive:选项来指定重命名阈值](http://git.kernel.org/?p=git/git.git;a=commit; h = 10ae7526bebb505ddddba01f76ec97d5f7b5e0e5) - 有可能你的文件不在阈值范围内,你可以通过使它更加宽松地按你想要的方式工作。 (假设你还没有手动完成)。 – Cascabel 2010-10-27 14:14:57