我们已经构建了一个小cms,我们希望将它们用作我们所有项目的基础。这个cms位于bitbucket的回购中。我们目前的程序在开始一个新项目时涉及克隆" cms"然后我们删除git文件夹并运行:
git init
git remote add origin https://xxx@bitbucket.org/myuser/newproject.git
git add .
git commit -m "First commit"
git push -u origin master
它的工作原理很好,当我们对" cms"进行更新时,问题就开始了。我们想将它们复制到子项目中。我们有一个"核心"文件夹,所以它不会打破应用程序。
我一直在阅读有关镜像here:
的内容git clone --mirror https://github.com/exampleuser/repository-to-mirror.git
Set the push location to your mirror.
cd repository-to-mirror.git
git remote set-url --push origin https://github.com/exampleuser/mirrored
但在这种情况下,所有分支似乎都是镜像副本,这不是我们想要的,有什么想法吗?
答案 0 :(得分:0)
我猜你特别不希望在newporject repo中看到cms系统的所有历史记录?不过,你可以保持与cms repo的关系,使这更容易。
git clone --depth=1 cms
git remote rename origin cms
git remote add origin https://xxx@bitbucket.org/myuser/newproject.git
git push -u origin master
这假设您要复制的提交位于cms的默认分支上(但您在上面拼写的过程表明它是,所以应该没问题。)
通过执行此操作,您可以使用与cms repo中相同的提交启动newproject,而不是仅使用相同树的新提交。并且您将cms保留为第二个遥控器,因此您可以轻松地获取/拉取/合并cms更改。
git pull cms master