I thought those must be in-sync, like in a typical QA and production
environment where you push changes from develop -> qa -> production
Staging can differ from production (usually be ahead) for previewing
changes. Then "releasing" is just a fast-forward merge from staging to
production. We don't enforce any specific workflow, though (like only
merges from staging are legit to production or so).
Personally, when using staging, I always try to leave it set to (or
fast-forwardable to) production when I am done with a given authoring
job. So the next guy coming after me doesn't have to care about any
non-published commits on staging.
2016-01-14 10:21 GMT+01:00 Vlad Mihalcea <mihalcea.vlad(a)gmail.com>:
> Hi,
>
> Thanks for the clarifications. I thought that forced push is disabled, but
> that might be true for the ORM, OGM, etc projects only.
> I was also using a separate branch for every post, but I was branching from
> staging because that was the default branch I got when forking the repo.
>
I thought those must be in-sync, like in a typical QA and production
environment where you push changes from develop -> qa -> production
>
I'm now writing a new post and push it to both staging and production when
> I'm done.
>
> Vlad
>
> On Thu, Jan 14, 2016 at 10:56 AM, Hardy Ferentschik <hardy(a)hibernate.org>
> wrote:
>>
>> Hi,
>>
>> On Thu, Jan 14, 2016 at 10:37:42AM +0200, Vlad Mihalcea wrote:
>> > I see that the production and the staging are out of sync now and trying
>> > to
>> > merge the upstream production leads to a merge commit.
>> >
>> > How do we normally handle the cases when the production branch history
>> > diverges from staging?
>>
>> You force push production to staging. There is no strong requirement for
>> staging being
>> in sync with production. Staging is also there to test changes in the
>> sites L&F or HTML
>> fixes. It is quite common that staging and production are out of sync.
>>
>> For that reason it is important that when you want to blog you base your
>> work on top of
>> production and not staging. Staging is just a convenient place to try
>> changes to the site.
>> A forced push is perfectly ok.
>>
>> Personally I always pull from production and create "blog" branches
from
>> this branch.
>> Then when I want to preview the changes life, I do a forced push to the
>> staging branch.
>> If I am happy with the result I push to production.
>>
>> --Hardy
>>
>