当前位置:  开发笔记 > 开发工具 > 正文

如何将git仓库中的目录镜像到另一个git仓库?

如何解决《如何将git仓库中的目录镜像到另一个git仓库?》经验,为你挑选了1个好方法。

我有一个目录/ampRepoARepoB(与/放大器的内容填充最初).我想将/ampRepoA中的任何更改镜像 到RepoB.

可能吗 ?

PS:RepoA包含许多其他目录.我只想镜像/ amp dir.而RepoB只会有/ amp内容而不是其他内容.



1> nbari..:

您可以使用git子模块,第一步是从您的目录创建一个存储库/amp,然后将其用作其他存储库中的子模块.

要创建/amp存储库,您可以:

$ cd /path/to/amp
$ git init
$ git add .
$ git commit -m "First commit"

现在让我们假设您将使用github,您可以通过以下方式发布您的仓库:

$ git remote add origin git@github.com:/amp.git
$ git push -u origin master

现在repoA,repoB您将需要将新的amprepo 添加为子模块,这可以通过执行以下操作来完成:

$ cd /path/to/repoA
$ git submodule add -b master git@github.com:/amp ampMirror

回购相同 repoB

$ cd /path/to/repoB
$ git submodule add -b master git@github.com:/amp ampMirror
$ git commit -m "added appMirror submodule"

请注意,这个名字我给到目录中repoA,并repoBampMirror,但它可以是任何你想要的,实际上你可以通过只使用使用相同的名称:

git submodule add -b master git@github.com:/amp 

目录结构如下所示:

repo(A/B)
??? .git/
??? .gitmodules   <-- created after adding the submodule
??? foo
??? ampMirror
    ??? .git/     <-- repo to keep/track changes for app (need to git pull)
    ??? foo

现在,每次amp对您的仓库进行更改时,您都需要更新"拉"存储库中的更改,例如:

$ cd /path/to/repoB
$ cd appMirror
$ git pull
$ cd ..    <--- get back to your project root
$ git commit -am "update submodule" 

如果有多个子模块,另一种方法是这样做并变得有用:

$ cd /path/to/repo(A/B)
$ git submodule foreach git pull origin master
$ git commit -am "updated submodules"

我希望这可以帮助你提供一个更好的主意.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有