应用于不同的存储库时,使用git进行故障

时间:2015-10-08 21:29:50

标签: git patch git-commit git-add git-am

我有两个Git存储库:

  1. /api/pom.xml
    /jpa/pom.xml
    
  2. /mailbox/api/pom.xml
    /mailbox/jpa/pom.xml
    /protocols/api/pom.xml
    
  3. 第二个存储库有一个邮箱文件夹,它具有完全相同的结构 第一个Git存储库。由于工作流程的变化,我现在需要继续努力 第二个存储库,需要将我的工作分支转移到新的 库中。

    我在第一个补丁中创建了一个补丁(比如文件api/pom.xml) 并尝试在/mailbox路径下的第二个应用它。所以我只有 一个问题:git am拒绝做这项工作,假装:

    <file> does not exist in index
    

    我尝试了目录选项和-p1选项。注意:patch -p1完成工作,但我 我的所有分支都有~80个补丁:

    patch + git add + git commit
    

    有没有更便宜的方法呢?

1 个答案:

答案 0 :(得分:0)

最简单的方法是将第二个回购中的mailbox视为第一个回复,声明为 submodule

cd /path/to/second/repo
git submodule add -- /url/first/repo mailbox

这样,一旦你在mailbox文件夹中做了一些更改,就可以添加并推送(到邮箱子模块文件夹中的第一个repo),然后cd ..到主父仓库,添加和推送(录制 gitlink special entry in the index)。

不再需要补丁。