我希望这里的巫师可以帮助我。我过去使用过Mercurial,所以我熟悉DVCS的概念。然而,这是我第一次使用git,工作流程略有不同。 本质上,它涉及分层结构,可能还包括使用镜像。 我希望得到的层次结构如下
Root Repo
^
|
|_____<MIRROR>______>Primary Repo
^
|
|________<CLONE>____> Developer
|
|________<CLONE>____> Developer
我想设置Primary Repo有两个原因:
我已经看到其他工作流程,其中Primary Repo成为一种缓存仓库,每个人都推送到Root Repo,但这不是我想要的。 我看到的另一个工作流程是每个人都向审阅者发送一封电子邮件,要求他/她提取更改,但由于团队已经习惯了SVN并且我希望尽可能保持熟悉,因此这还不可行。
到目前为止我尝试了什么:
我想知道这个工作流程是否可行(听起来应该是这样)。更可能是我弄乱了什么。欢迎提出任何建议。
答案 0 :(得分:0)
看看Gerrit + Jenkins。可以设置Jenkins来验证构建,然后审阅者可以在代码审查期间批准代码。
答案 1 :(得分:-1)
为什么你担心每个人都推着一个回购? Git非常高效。除非您不处理源代码(大图像或视频),否则没有理由增加您提出的复杂性。
至于工作流程,这就是我正在使用的:http://dymitruk.com/blog/2012/02/05/branch-per-feature/
答案 2 :(得分:-1)
你想要的应该如下(免责声明 - 我没有测试过这个):
<强>设置强>
<强>工作流强>
这会解决你的问题吗?
关于你的尝试:
从Root Rep中拉出(git远程更新)git status现在显示为remote 变化和我的不可见
这看起来像是一种误解。 git remote update
不“拉” - 拉是git pull
:-)。 git remote update
仅更新远程数据的缓存副本 - 您必须拉动以实际将更改提取到本地分支。如果您git pull
来自根目录内的主要回购,您应该会看到更改。
(*)你可以在P中推入R,或者你可以在R中拉出P - 结果将是相同的。