繁体   English   中英

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

[英]Branches for Testing and Production Environments on Git/Bitbucket

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

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

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

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

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

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

最有可能的是,您可以让每个开发人员创建自己的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

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

实现您正在寻找的东西的唯一方法是让每个开发人员在自己的分支上工作。

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

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

暂无
暂无

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

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