Close

Copyright © RebelMouse 2020

Follow Us:

GIT Workflow

This document is written to give an overview on how to work with your BitBucket on RebelMouse integration.

Using GIT

Since you are using your own GIT repository on Bitbucket which is totally separated from RebelMouse repository , you can maintain your repository as you wish. This allows for a lot of creative freedom in using the environment the way you'd like.

While you can use your own workflows, we still highly recommend our suggested workflow described in next steps.

I am new to GIT

Start by reading this GIT reference first http://gitref.org/. You can skip the part about "Getting and Creating Projects", everything else is quite useful.

Comparing GIT workflows

You can find a really good tutorial about different GIT workflows at https://www.atlassian.com/git/tutorials/comparing-workflows, which we highly recommend reading. especially Feature Branch Workflow. The most vital and necessary commands are listed in this tutorial as well.


Daily workflow example

As mentioned before Feature Branch Workflow is approach which we highly recommend to stick with. It means that for every new feature (or any bug you will fixing) you will create a new branch. All changes for that feature then should be in this branch. This way your master will be always clean and ready for syncing with our master.

This tutorial contains also other commands. Before start please read topics about VIM and Nano and Custom Roar Commands.

Switch to master branch, be sure that you are on it with git status. You can also check if there are any changes with git diff command.

git checkout master

Rebase the master. This will take down all changes (which other developers in your team have pushed to origin) from BitBucket repository to your local repo.

git pull --rebase

Fetch new changes. This will take down all changes (which other developers in our team have pushed to origin) from GitHub repository to your local repo.

roar-fetch

Check if there are any changes.

git status

If there are any changes you need to commit them.

git commit -am "updates from RM repo"

Push new changes from local master branch to your origin master branch.

git push origin master

Let's say you would like to start working on a new feature. Create a new feature branch. Please respect the TICKET_NO-lower_case_with_underscore naming.

git checkout -b 12345-new_branch_name

Open and edit file which you need to update. I will work on article.css with VIM terminal editor for this example.

vim static/css/roar/article.css

Every time you want to check your changes in browser you need to run roar-reload.

roar-reload

All templates are cached. This command reloads your environment and applies your recent changes; without running it you won't see any updates in the browser after refresh. You don't need to run this command when you've edited static files.

Check your beta in browser now. If you are satisfied with your changes and new feature looks okay, you should push this changes to your repo first.

Verify your changes one more time.

git diff

Commit your changes with meaningful commit message. Don't forget to include #TICKET_NO at the end.

git commit -am "updated colors on article page #12345"

Push changes to your repo.

git push origin 12345-new_branch_name

After this you are ready for pushing to stage server. Please note that you can push to stage server from any branch. Branch which you are currently on will be deployed to stage.

roar-push-stage stage_name

URL of stage server will be outputted in this step.

If everything looks okay, you can proceed with pushing to production. Pushing to production is possible only from master branch. Before that you need to fetch latest code from BitBucket and GitHub repo. This way you will be sure that your changes looks well even with latest code. It could happen that in meantime someone else has made changes in the same file you were working on. It is necessary that code is synced. You need to repeat the steps which we made in the beginning.

git checkout mastergit pull --rebaseroar-fetchgit statusgit commit -am "updates from RM repo"git push origin master

Then merge your feature branch into master.

git merge --no-ff 12345-new_branch_name

In most cases everything will be okay after this. But from time to time you will get merge conflicts. You will be notified about them in terminal and you need to solve them manually. This happens because someone else were working in the same time, on the same lines in the same file as you do.

Just before pushing changes live, please verify that everything still looks okay on your beta.

roar-reload

Check your beta in browser. If everything is okay, you're clear to push your updates live.

roar-push-prod "A meaningful message explaining new updates."

Deployment could be blocked by other developers at any given time and deploying itself could take up to 20 min. In this process your feature branch will be also pushed to BitBucket.

When deploying will be done, you are able to check your changes in browser on live site.

You're not required to stick with this workflow, but it is helpful. If you are good with GIT, you can use it on your own way. Then all you need to know are our 4 roar-[...] custom commands.

Why RebelMouse Is the Best Content Marketing Platform

RebelMouse is a unique platform and company. The company was founded on the vision that media companies would need an always-modern solution to thrive in the new connected internet, and that brands would have to behave like new media companies and use the same platforms.

Keep reading...

Why Premium Creative Agencies and CTOs Choose to Develop on RebelMouse vs. WordPress and Drupal

The Intersection of Design and Development: Where Your Clients Thrive

We started RebelMouse seven years ago knowing that there was a fundamental design flaw in the world of traditional CMSs: Every instance, on every platform, had to be updated independently. It's similar to an era when users had to manage their own Microsoft Exchange Server for email. The costs of managing, maintaining, and iterating on a CMS to keep it awesome and world class is typically a $10 million-a-year endeavor. But even then, these cost-prohibitive CMSs are still behind the times.

Keep reading...

Native Multivariate Testing at Scale With RebelMouse

What Differentiates Our Approach

There are many popular tools that allow you to perform experiments and A/B tests on your users — primarily Google Chrome Experiments and Optimizely. But all of these solutions are JavaScript additions to your web page that sidestep the problem of old, outdated, and clumsy CMSs. These solutions work by calling on a third-party JavaScript library that rewrites a page after it's rendered. This approach adds extra page weight and creates strange user experiences due to having to wait for everything to load and be rewritten on the fly.

At RebelMouse, we've solved this in a very elegant way. At the core level of our platform, we can natively render different layouts and track the exact differences in performance when comparing a test to your other layouts.

Keep reading...

Modern E-Commerce: Blur the Line Between Content and Design

Create Modular + Reusable Design Patterns on RebelMouse

Content saturation is an industry-wide problem, and the e-commerce space is no exception given that it's filled with big brands, small Etsy stores, and everyone in between all fighting for similar audiences. The best way to fight this symptom is to understand your audience and provide them with what they want.

Keep reading...

Instagram-style E-commerce Features on RebelMouse

Revolutionizing E-commerce on RebelMouse

Whether you're a brand with a blog or a media company with a site, driving purchasing behavior and building an audience that uses your content to find things they love to buy is vital. We're very proud to have built out the same functionality that everyone is now used to on Instagram, with layovers on images that lead to products with attribution.

Keep reading...

Building Premium Communities and User Journeys on RebelMouse

RebelMouse is much more than just a replacement for a traditional CMS. Our platform is a tremendous community-building experience. Today's social ecosystem has given us a seemingly limitless number of premium creators who understand how to create gorgeous and relevant content that drives the growth of their own audiences. These creators and influencers are either experts in certain topics, or heavily engaged in targeted content that drives their interests. They're not only consuming the content they're passionate about, but they're contributing to the conversation, too. The new role of the editor is not just to cover the most important topics and people around their expertise, but also to invite those preferred influencers into their community and get them to participate in creating premium content.

Read our deck here...

Keep reading...

Dynamic Voting: Grow Traffic and Engagement Organically

Help your audience find its voice.

Creating quality content is no longer on marketers alone. We live in a universe of creators who are willing to not only consume content that resonates, but play a role in the creation, promotion, and conversations surrounding it.

Since the start of RebelMouse, we've been on a journey to create dynamic media that is easier for content creators to curate and amplify on social. It's why we've built an online engagement platform centered around the power of communities that thrive naturally in the digital ecosystem.

Keep reading...

How to Monetize Your Website in Today’s Publishing Environment

In order to define distributive publishing, we have to ask the following question: If you have quality content, but nobody sees it, does it even exist? The answer is no, because your content needs to be supported in a way that lets it move seamlessly across all channels, especially site, search, and social. But let's take this question a step further: If you can't monetize your content to generate the support it needs, how do you create quality content in the first place?

Keep reading...

No More Website Updates: Publish Like It’s the 2020s

These are the next-gen updates you need to stay ahead of the competition

Content creation is still the most powerful engine that propels every publisher forward. But in 2020 and beyond, quality content won't sustain a site on its own. The modern content lifecycle hinges on a number of things working together in unison — including page speed, intelligent SEO, and effective distribution, just to name a few.

However, there's one thing that can throw a wrench in the entire system, and that's platform updates. Whether you're publishing on a common CMS solution like WordPress, using a custom in-house CMS, have access to a dedicated team of developers, or any option in between, platform updates can be both costly and frustrating.

Keep reading...

RebelMouse CEO: Reimagining Diversity “Starts in the Office”

Why women, minorities, and the LGBTQ+ community will restructure workplace norms

Entering a new decade means a new opportunity to change how we approach diversity. In a joint interview alongside Leanne Pittsford of Lesbians Who Tech, RebelMouse founder and CEO Andrea Breanna said that the only way to fight patriarchal dominance is to encourage and nurture more women, minorities, and members of the LGBTQ+ community in the workplace, particularly in tech.

Over half of RebelMouse's employees are women or identify as LGBTQ. Read our full diversity and inclusion report here.

Check out the full video below.

Related Articles

Publishers No Longer Have to Submit Their Site to Google News

Google's Publisher Center creates new opportunities for audience growth

Just before the start of the next decade, Google announced an important change to its Google News offering with the launch of Google Publisher Center. The new interface merges Google News Producer and Google News Publisher into one to streamline the partnership process for publishers.

Overall, the change should make it easier for publishers to manage their Google News settings, including updating themes, directing URLs to section pages, and configuring user permissions. Read the full list of features here.

Keep reading...

How to Find Work-Life Balance as a Remote Employee

Tips from our CEO on making the most of an office-free lifestyle

Working from home is becoming increasingly popular, with an estimated 66% of companies now allowing remote work and 16% operating completely office-free. RebelMouse is one of those fully remote companies, and over the years we've mastered how to stay close to each other despite being spread across more than a dozen countries. We believe working remotely is good for both our personal lives and our productivity. Read more about this here.

Still, working free from the shackles of an office environment doesn't mean every day is a dance party in your pajamas from 9 to 5. Working from home comes with its own set of challenges just like any other job.

Keep reading...
Subscribe to Our Newsletter