2017-03-07 100 views
1

我想了解如何在与多个分支一起工作时最好地改进我的工作流程,其中每个分支都将部署到特定环境。Git:多个分支机构部署工作流程

我们首先说我使用BitBucket托管我的git存储库,并且我有三个分支:origin/master,origin/stagingorigin/production

每当我完成一个新的任务,我将任务提交到我的本地分支master,然后我把它推到origin/master。之后,如果我想将该提交部署到分段,我只需打开分支并运行“同步”(使用BitBucket功能),以便分支origin/stagingorigin/master匹配。

但是,当我在SourceTree上查看存储库时,感觉像是我弄得一团糟,这可能不是正确的做法。

这是库怎么看起来像SourceTree:

enter image description here

,这是它的外观上到位桶:

enter image description here enter image description here

首先:它为什么说origin/productionorigin/staging分别是4和6提前origin/master提交?其次,如果我所做的是错误的/可以改进的,你会建议我做什么?

+0

我认为您的工作流程没有任何问题。 SourceTree图看起来比必要的更复杂,但如果仔细追踪所有行,您将会看到它与BitBucket显示的图形相同。 – mkrieger1

回答

1

productionstaging是领先你master分支,因为有合并不存在于master提交。您可以在SourceTree屏幕截图中轻松看到这一点:origin/production是四位(合并)提交超过主,四位提交Merged master into production消息。它与您的staging分支类似。

由于您反复将master分支合并到其他分支中,所以会陷入这种情况,但决不会将其他分支合并回主。这没有错。只要“前面”计数不会打扰你,你就全都准备好了。如果您不希望在master之前提交任何提交,则可以将productionstaging合并回主。这不会改变你的任何数据,合并提交也会成为你历史的一部分。

+0

谢谢你的解释,它帮助了我:) – siannone