我正在努力了解如何在处理多个分支机构时最好地改进我的工作流程,每个分支机构都将部署到特定环境。
让我们首先说我正在使用BitBucket来托管我的git存储库,我有三个分支:origin/master
,origin/staging
和origin/production
。
每当我完成一项新任务时,我都会将任务提交到我的本地分支master
,然后将其推送到origin/master
。之后,如果我想将该提交部署到暂存,我只需打开分支并运行“同步”(使用BitBucket功能),以便分支origin/staging
与origin/master
匹配。
然而,当我在SourceTree上查看存储库时,感觉就像我弄得一团糟,这可能不是正确的做法。
这是SourceTree上的存储库的样子:
这就是它在BitBucket上的表现:
首先:为什么origin/production
和origin/staging
分别在origin/master
之前提交4次和6次提交?
其次,如果我正在做的事情是错的/可以改进,你建议我做什么?
答案 0 :(得分:1)
staging
和master
位于master
分支之前,因为origin/production
中没有合并提交。您可以在SourceTree屏幕截图中轻松看到这一点:Merged master into production
是在master之前的四个(合并)提交,四个提交有staging
消息。它与您的master
分支类似。
您遇到这种情况是因为您反复将master
分支合并到其他分支,但从未将其他分支合并回主分支。这没错。只要" Ahead"伯爵不打扰你,你已经完成了所有的设定。如果您希望在production
之前没有提交,则可以将staging
和master
合并回master。这不会改变您的任何数据,合并提交将成为您{{1}} s'的一部分。历史也是如此。