2017-09-24 111 views
0

我有一个用于主动开发的团队git回购,以及我们发布我们的发布代码供其他团队使用的“公共”回购。Git发布一个分支到次要的远程回购

我不是git专家,所以我不知道这是可以开箱即可完成的事情,或者我目前正在做的事情是做事情的最佳方式。

我们需要做的是取得完成的发布代码,并在我们的冲刺周期结束时将其发布到我们的公共回购站。我们不希望其他球队获得我们的球队回购,我们也不希望球队回购分公司被推到公共回购。

我现在正在做的是当我们有点发布或任何我们想要发布的代码时,我将公共回购克隆到我的硬盘上的文件夹。然后我将dev dev的发行版分支中的所有文件复制到该文件夹​​中。最后,我通过将这些更改提交回公共回购并删除文件夹完成。

我把这个过程写成脚本,所以它不是手动的,但我想知道是否有更好的方法来做到这一点。

回答

0

另一种方法是将公共回购作为团队回购的一个分支,然后您可以轻松地将发布分支从团队回购推送到您的公共回购。像这样的东西

git init team 
cd team 
    [do team development...] 
git co -b release-branch  
    [do release refinements on release-branch...] 
cd .. 
git clone -b release-branch --bare team release.git 
    [now you have a release repo that you can share with others] 
cd team 
git remote add release ../release.git 
    [now you have added a second remote called "release"] 
git co release-branch 
    [do more refinements on release-branch...] 
git push release release-branch 
    [now you have updated the release-branch of the release repo] 

我不清楚为什么你想在团队回购中保留一些东西。 如果你想保持最提交的只是球队的回购,那么你有一个问题:

由于git的处理版本的方式,推动释放分支将推动发布分支的所有祖先公众回购。这可能包括许多你只想保留在团队回购中的提交。 例如如果您将团队回购主分支合并到发布分支,那么主分支中的所有提交也将转移到公共回购。

+0

感谢您的支持。我将不得不查看其中的一些命令(不是 - 和--mirror一样 - 我真的需要磨砺我的GIT!)我们只想将发布代码提交给公共回购的原因是所有的内部政治。没有技术上的原因,但是让其他团队的承诺减少会让生活变得更容易。 –