2017-02-03 31 views
1

我使用Git和Bitbucket来控制我的软件的版本。 现在我在bitbucket中有两个起源分支:Testing和Master。Git/Bitbucket上测试和生产环境的分支

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

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

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

任何想法,我该如何解决这个问题?

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

回答

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

0

要做到这一点,最好的方法是让开发人员从本地机器上的测试(父分支)创建一个新分支(子分支)并对其进行处理。但是请注意,当代码准备推送时,开发人员必须切换到父分支(测试),然后从远程测试中取出所有最新的分支。

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

相关问题