Git / Bitbucket上的测试和生产环境分支

时间:2017-02-03 14:42:36

标签: git bitbucket

我正在使用Git和Bitbucket来控制我的软件版本。 现在我在bitbucket中有2个原点分支:Testing和Master。

测试分支自动更新我的本地服务器。主分支自动更新生产。

我有一个拥有5名开发人员的团队,每个团队都有本地分支机构:测试和硕士。

问题是:当开发人员推送到测试/原始分支时,其他开发人员无法推动他们的修改,因为他们落后于测试/来源。我知道他们可以“git push -f”但这会覆盖其他开发人员的最后一次提交。而且我知道他们需要在推送之前,但是当他们拉动时,他们得到其他开发者的变化,而这不是我想要的。我需要他们在测试分支上进行各自的更改。

关于如何解决这个问题的任何想法?

对不起,如果你不明白,英语不是我的第一语言......

3 个答案:

答案 0 :(得分:3)

最有可能的是,您可以让每个开发人员创建自己的testing分支派生分支:

git checkout testing
git checkout -b my_testing
# work work work
git commit -m 'finished my work'
git push origin my_testing

此时,您的每个开发人员都基于testing创建了自己的分支,完成并完成了他的工作,并将他的分支推到了Bitbucket。现在,他可以使用testing分支作为目标创建拉取请求。如果请求获得批准,则可以将其合并到Bitbucket中的testing

合并完成后,所有开发人员的工作现在都在testing

答案 1 :(得分:0)

您可能需要考虑使用类似于gitflow的分支策略。 https://datasift.github.io/gitflow/IntroducingGitFlow.html

实现目标的唯一方法是让每个开发人员在自己的分支上工作。

答案 2 :(得分:0)

执行此操作的最佳方法是让开发人员从本地计算机上的Testing(父分支)创建新分支(子分支)并对其进行处理。但请注意,当代码准备推送时,开发人员必须切换到父分支(Testing),然后从远程测试中提取所有最新信息。

之后,他们必须首先将子分支合并到父分支本地。此时,开发人员可能会遇到合并冲突。此时使用http://meldmerge.org/之类的工具来查看冲突并与推送代码的另一个开发人员一起解决冲突。最后,您的本地测试(父)分支是最新的,没有冲突。因此,此时开发人员可以将Testing分支推送到远程。