简体   繁体   English

GIT Integration Manager工作流程设置

[英]GIT Integration Manager workflow setup

I am setting up an environment for our team and our contractor team to develop a project. 我正在为我们的团队和承包商团队建立开发项目的环境。

Our team is sitting in network A. Our contractor team is sitting in network B. For security reason, Network A and B will be connected once a day (or a few days). 我们的团队坐在网络A中。我们的承包商团队坐在网络B中。出于安全原因,网络A和B每天(或几天)连接一次。 Both networks cannot be connected to the Internet. 两个网络都无法连接到Internet。

We decided to adopt GIT's integration manager workflow approach. 我们决定采用GIT的集成管理器工作流程方法。 We plan to setup our central repo in Network A. Then, setup a integration manager repo in network B. 我们计划在网络A中设置中央存储库。然后,在网络B中设置集成管理器存储库。

Contractor team's developers will pushed their changes to integration manager repo. 承包商团队的开发人员会将其更改推送到集成管理器仓库中。 A system analyst in the contractor team will review and rebase the codes before pushing to Central repo and pulling the changes we made to central repo. 承包商团队中的系统分析人员将审查代码并重新编制代码,然后再推送到Central repo并撤消我们对Central repo所做的更改。

I would like to ask: 我想问一下:

  1. Should integration manager repo be bare or not? 集成管理器仓库应该裸露还是没有? I am confused after reading posts from the web. 从网上阅读帖子后,我感到困惑。 If it cannot be bare, then should I set receive.denycurrentbranch=refuse or updateInstead? 如果不能裸露,那么我应该设置receive.denycurrentbranch = refuse还是updateInstead吗?

  2. Should the contractor's system analyst rebase codes in integration manager? 承包商的系统分析师是否应该在集成管理器中对代码进行基础设置? If not, then what is the proper way to rebase the codes by the SA before pushing the changes to central repo? 如果不是,那么在将更改推送到中央存储库之前,由SA重新编码代码的正确方法是什么?

Should integration manager repo be bare or not? 集成管理器仓库应该裸露还是没有?

It is better for any repo your are pushing to to be bare. 最好使您要裸露的任何回购协议。
The integrator can then pull to his/her own integration repo (which is not bare), and have a look there. 然后,集成商可以拉到他/她自己的集成库(不是裸露的),并在那里查看。 (while the network is closed again) (当网络再次关闭时)

Once the integrator has done the integration job, he/she can push to a networkA bare repo acting as a referential, and colleague can pull --rebase from it. 集成商完成集成工作后,他/她可以将其推送到网络作为参考的裸pull --rebase ,同事可以从中pull --rebase
A pull -rebase would help rebase any local (not yet pushed) commits on top of the updated remote branch. pull -rebase将帮助将所有本地(尚未推送)的提交重新设置到更新的远程分支之上。 See also " Can “ git pull ” automatically stash and pop pending changes? ". 另请参见git pull可以自动存储并弹出未完成的更改吗? ”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM