WP Engine Git – A How-to Guide and Review

So here’s the deal.  My hosting company of choice, WP Engine, has a git service built into all of their websites.  This is pretty cool.  But I’ve got to be honest with you – I have had a hell of a time getting it to work properly.

Admittedly, part of the problem is me.  I am a git beginner, with just under 3 months of hardcore git usage under my belt.  I regularly screw my local repositories up.  🙂  But I also have about 40 different remote git repositories that I manage and collaborate with teams on a daily basis on both Github and Bitbucket.

But part of the problem has been WP Engine.  Their support on git-related matters has been horrible.  I was unable to get any helpful answers to my git questions either via live chat support or ticket support.  One member of the WP Engine team even told me, point blank, “We don’t support git” – a statement that both my sales rep and WP Engine’s Twitter account denied.  Nonetheless, their support on git questions has been downright horrid.

The good news is that after I invested about 20 hours on the matter, I can now safely and consistently push my local git repositories out to WP Engine.  The bad news is that it took a shit ton of time to figure it all out.

Here are the basics.  Some of what I am about to tell you are git basics, and some are WP Engine+git basics.

  1. You need to generate an SSH key on your computer.  To do this, follow steps #1-3 here.  Step #3 will actually copy your SSH key to your clipboard (for pasting later).
  2. Set up the git user on the WP Engine dashboard.  NOTE: You only need one git user for ALL of your sites.  I learned this the hard way.  When you go to set up another git user on WP Engine, just follow step #3 from the link above to copy your computer’s SSH key.  Again, do not set up another SSH key on your computer!
  3. From there, you can pretty much follow these instructions.  But understand that it’s gonna be messy.

Some things I learned:

  1. WP Engine’s git feature is not a replacement for Github or Bitbucket.  It is to be used in conjunction with those services.  For example, I have a repository on Bitbucket that I use to manage all of my branches.  Right now, my workflow has all of my code up on Bitbucket.  I push to WP Engine only after I have already pushed to Bitbucket.
  2. You can push any local branch to either WP Engine’s staging environment or its production environment.
    • To push your local “staging” branch to the WP Engine production site, type, “git push production staging”.
    • To push your local “master” branch to the WP Engine production site, type, “git push production master”.
    • To push your local “staging” branch to the WP Engine staging site, type, “git push staging staging”.
    • To push your local “master” branch to the WP Engine staging site, type, “git push staging master”.
    • To push your local “feature-my-branch-name” branch to the WP Engine staging site, type, “git push staging feature-my-branch-name”.
    • Got it?
  3. WP Engine’s git functionality is a replacement for SFTP.  This is actually an awesome thing.  It’s not that SFTP is hard (it’s not).  It’s that git and FTP don’t play nice together.  If you use git locally and ftp files, you are liable to ftp up branches and features that you did not intend to.  So, stop FTP’ing into WP Engine – use “git push” instead.
  4. You can push feature branches to WP Engine git, but don’t; use Bitbucket/Github to manage branches, instead.  Think of WP Engine as live code only.

Resources

Posted in

The Mighty Mo! Design Co.

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons. The post Where uncertainty exists, don’t order specific. appeared first on Toby Cryns, WordPress Trainer in Minneapolis, MN.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you. The post “Now THAT was a good meeting!” appeared first […]
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]

More posts from themightymo.com

How to merge two folders, including all sub-folders and files, on Mac

By The Mighty Mo! Design Co. | November 3, 2022

Today I had an issue where I needed to merge two folders, each of which contained many sub- and sub-sub folders that had lots of images. After a lot of trial-and-error and some Googling, I found the best solution is to use the “ditto” command in Terminal like this: That’s it! Hat tip to AppleInsider.

mailchimp usage stats

Some Surprising Trends in Website Development

By Toby Cryns | October 17, 2022

I wasted some time today to bring you (dum dum duuuuum!): Some Surprising Trends in Website Development!

How to Configure WordPress with Cloudflare, HSTS, TLS, and Secure Headers

By The Mighty Mo! Design Co. | October 11, 2022

I was recently asked to look into creating some secure http headers as well as forcing a website to load over TLS1.2+. Below are my “how to” instructions for updating these settings within WordPress and Cloudflare. Install & Configure the Cloudflare WordPress plugin. Make sure an SSL Certificate is installed on your host for your…

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons. The post Where uncertainty exists, don’t order specific. appeared first on Toby Cryns, WordPress Trainer in Minneapolis, MN.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you. The post “Now THAT was a good meeting!” appeared first […]
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]