使用git创建三个单独的分支,并将分支推送到三个新的repos

时间:2015-01-21 00:22:01

标签: git controls version cloning

我是一个相对较新的GIT所以我不想太多地搞乱它,因为我意外地删除了一些东西。无论如何,目前我有一个分支机构,我在过去的几个月里一直在分支,合并并推动一个回购 - 到目前为止一切都很好。我的项目现在已进入一个阶段,我需要创建三个不同的版本。我现在要做的是创建三个独立的主分支副本,并能够将它们推送到自己独立的Github仓库。我知道在这里已经有很多关于克隆等的事情,但我认为如果我只是要求确保我不会弄乱任何东西,那将是最好的。谢谢!

1 个答案:

答案 0 :(得分:0)

一旦您在Github上创建了回购,请转到您的工作副本并执行

git remote add g1 <URL OF REPO1>
git remote add g2 <URL OF REPO2>
git remote add g3 <URL OF REPO3>

现在您有三个名为g1g2g3的新遥控器。

对他们的状态进行初步获取:

git fetch g1
git fetch g2
git fetch g3

然后继续将当前状态master推送到那里:

git push -f g1 master:master
git push -f g2 master:master
git push -f g3 master:master

-f旗帜强制推动,以防万一有问题,因为历史不匹配或其他什么。你不应该在进一步的推动中需要这个。

然后,创建远程master分支的本地表示:

git branch github1-master g1/master
git branch github2-master g2/master
git branch github3-master g3/master

完成。


除此之外:在为三个版本设置三个repos之前,请检查这些版本是否无法托管在具有不同配置/构建脚本/任何内容的一个仓库中。 3 repo解决方案具有巨大的缺点,您需要将master中引入的大多数更改带入所有三个版本分支(github1-master .. github3-master)。

更简单的解决方案是拥有一个 repo,提供 3个不同的构建环境,您可以在其中设置3个产品。