如何在不同的目录中跟踪git存储库?

时间:2012-07-24 22:24:47

标签: windows git git-submodules

所以我有一个项目,它是一个包含另一个git存储库的git repo。结构是这样的:

/gitProject
    /other
    /stuff
    /anotherGitProject

目前,我已将另一个GitProject设置为gitProject的子模块。我的问题是我必须将anotherGitProject部署到我的硬盘的另一部分。由于anotherGitProject作为附加组件运行,我只是将anotherGitProject的内容直接复制到另一个项目的目录树中:

/gitProject
    /other
    /stuff
    /anotherGitProject
/otherProject
    /(contents of anotherGitProject+otherProject)

我的问题是:如何跟踪我在gitProject中对anotherGitProject所做的更改?这似乎真的很复杂,但我需要在otherProject之上对anotherGitProject进行更改,否则这不会成为问题。

1 个答案:

答案 0 :(得分:2)

这个想法是:

  • anotherGitProject中克隆otherProject
    甚至 as otherProject(如果anotherGitProject的内容需要直接在otherProject内,在这种情况下:
    • otherProject
    • 中重命名otherProject.tmp
    • 克隆anotherGitProjectotherProject
    • 复制otherProject.tmp
    • 中剩余的otherProject内容
    • 添加.gitignore以忽略任何不是anotherGitProject原始内容
    • 的内容
  • 添加到anotherGitProject初始回购(一个是gitProject的子模块)remote指向otherProject

这样,您可以直接从otherProject

中取回anotherGitProject

如果anotherGitProject作为插件,是一个简单的otherProject子目录,那么这个过程要简单得多,因为正如我在第一点提到的那样,你可以简单地克隆anotherGitProject直接在目的地(otherProject内)。
远程步骤是相同的​​:

cd /gitProject/anotherGitProject
git add remote anotherGitProjectDeployed /path/to/otherProject/anotherGitProject