我希望这里的巫师可以帮助我。我过去使用过 Mercurial,所以我熟悉 DVCS 的概念。然而,这是我第一次使用 git 的工作流程略有不同。从本质上讲,它涉及层次结构,并且可能使用镜像。我希望得到的层次结构如下
Root Repo
^
|
|_____<MIRROR>______>Primary Repo
^
|
|________<CLONE>____> Developer
|
|________<CLONE>____> Developer
我想设置主仓库有两个原因:
- 位置/减少带宽使用,而不是每个开发人员从/向根存储库拉/推
- 通过审查清理代码,只有经过批准的代码才会进入 Root Repo
我见过其他工作流程,其中主仓库变成了一种缓存仓库,每个人都推送到根仓库,但这不是我想要的。我见过的另一个工作流程是每个人都向审阅者发送一封电子邮件,要求他/她进行更改,但这还不可行,因为团队已经习惯了 SVN,我希望尽可能地熟悉它。
我到目前为止所尝试的:
- 使用镜像标志克隆主仓库。
- 从主仓库克隆到本地。
- 测试修改,然后检查到本地 repo。
- 将代码推送到主仓库。
- 从 Root Rep 拉取(git 远程更新)
- git status 现在显示远程更改,而我的不可见
- 尝试使用全新的 Primary Repo 克隆(不显示我的更改)
我想知道这个工作流程是否可行(听起来应该可行)。更有可能是我搞砸了。欢迎任何和所有建议。