如何使用git在不同的基本路径上应用更改

时间:2018-04-25 08:33:44

标签: git

我正在使用的项目是过去使用ant构建的。几个星期前,它被模块化并迁移到了maven。因此,项目结构发生了变化,src目录路径也发生了变化。从例如/src/module-A/src/main/java

所以存储库看起来像这样

       mavenization        master
           V                 |
                             V
o----o-----o-----o-----o-----o      <-- maven project with module-A/src/main/java
    \
     \
      o-----o-----A                 <-- still an ant project with `/src`
                  ^
                  |
           maintenance branch

maintenance branch是几周前发布的,现在是生产的bugfix分支。

我的问题是我必须修复mainenance branch中的错误并将其应用到master.But这不起作用,因为项目结构随mavenization提交而更改。

嗯,/module-A/src/main/java下的目录结构与maintenance branch的{​​{1}}目录下的目录结构相同。但由于基本目录不同,我猜不太可能选择樱桃,或者你知道一些选择吗?

当然我可以手动合并文件或使用像WinMerge这样的工具,但我正在寻找使用git的更好的解决方案。

如何将提交/src的更改应用于A分支的不同基本路径?

1 个答案:

答案 0 :(得分:2)

制作public class DemoInfo { public string name; public List<StatInfo> stat; public string workLocation; } 提交的补丁。假设提交哈希为public class StatInfo { public string contact; public DateTime createdDate; public string action; }

mavenization

您将获得一个名为abc123的补丁。

切换到git format-patch -1 abc123

0001.xxx.patch

应用补丁:

master

git checkout master 也是这样的。