2

我最近设置了一个 Gitolite Ubuntu 服务器,以及存储库和用户(在组内)。对于实际工作的事情,一切都在顺利进行。

在我的 Git 研究中,我发现了一个特定的Git 模型,它可以按照我们想要的方式工作。我们迫切需要一种在不破坏当前开发版本的情况下将修补程序应用于当前源的方法。“nvie”的这个模型可以满足我们的所有需求。

问题是它并没有真正解释使用这种模型的远程托管。我们无法弄清楚一些事情。

目前我们正在考虑每次添加一个feature-*完成的新分支时,我们会将其推送到同名的远程分支。但这意味着我们中的一个人将不得不在以后手动拉动它们并确保没有冲突。

我们如何在基于团队的工作流程中使用“nvie”模型?

编辑更清楚

团队中没有人知道,比如说,两个人如何开发自己的功能。第一个人完成他们的特征并合并到develop. 第二个人是做什么的?存储他们的更改并拉develop入他们的分支,然后应用他们的存储或什么?

我们不确定如何在不覆盖彼此更新的更改的情况下同时推进开发等。

4

3 回答 3

1

引用主题

特性分支的本质是,只要特性处于开发阶段,它就存在,但最终会被合并回开发中(以明确将新特性添加到即将发布的版本中)或丢弃(以防实验令人失望)。

功能分支通常仅存在于开发者存储库中,而不存在于原点中。

必须使所有水晶干净。后面的代码显示相同的样式

已完成的功能可能会合并到开发分支中,肯定会将它们添加到即将发布的版本中:

$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop

注意推送分支,开发,而不是功能分支。您只需根据需要进行尽可能多的合并|推送

于 2011-10-21T09:03:52.487 回答
1

这是一个巨大的争论话题。像 Git 这样的现代工具使每个功能分支成为可能。以前,由于无法实现粒度级别 - 或者太难做到,因此不赞成。

我将探索添加一个分支,您可以根据可能未获得 QA 批准来重置该分支 - 集成后的 UAC。这对我和其他人都很有效。这是对它的非常详细的说明,并在之后进行了很好的讨论。我希望它有帮助:

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

于 2011-10-21T09:48:06.807 回答
0

atlassian 网站上的这个快速教程将是一个很好的开始。

https://www.atlassian.com/git/workflows

于 2014-01-06T10:08:41.270 回答