在什么情况下WPEngine承诺git?

Short Version What changes (if any) can be made within the /wp-admin that would result in WP Engine committing a change to my project's git history?

Longer Version I'm migrating a Wordpress blog over to WP Engine from Pantheon. We're versioning Wordpress core and have a few plugins stored in our version control as well.

I can install a new plugin to the production environment if I do the following:

  1. In my local environment, add the source code to wp-content/plugins
  2. Make a git commit and push it to the production branch (set to git@git.wpengine.com:staging/thenameofmysite.git)

When I do this, the plugin is accessible from production. However, when I go the other way around, I experience unexpected behavior.

From within /wp-admin, I install a new plugin (eg ninjaforms). If I open an SFTP shell into my instance, I can see the plugin files living next to the ones I added via git. Success!

However, when I try to do a git pull origin master or git pull origin staging I don't receive any new files. This is unfortunate because it means that someone could add a plugin that I'm unable to pull down (which makes my local dev environment out of sync with production) or that I need to add SFTP pulls into my git workflow.

The WP Engine documentation (taken from https://wpengine.com/git/#toc_6) suggests that I shouldn't be experiencing this behavior:

WP Engine will continue to manage core updates for you. For those who version and deploy WordPress core with git, we will automatically create a new commit point and push the update back to the current branch of your repository. This will require a git pull/merge to update and sync to your local repository. If you don’t version WP core then you’ll get the upgrades as a part of our existing upgrade process.

Does anyone know when, and under what circumstances, a commit of this kind of commit might be created? The git pull process seems relatively well documented, but I can't seem to find any resources anywhere about the rules governing WP Engine-created pulls, how they handle merge conflicts, etc...

They only commit and push WordPress updates. Anything else that would trigger a change in the repository is not committed. For example, if you use Advanced Custom Fields and have an acf-json folder inside your theme, and you changed some fields in WPEngine, the .json file will be updated. However, when you push on WPEngine, they will undo any changes that are not WordPress core related, and will pull your changes afterward.

You shouldn't have any conflict as long as you don't play in the WordPress core files because the only changes they push are WordPress updates. If you updated WordPress version on your side, and WPEngine update their WordPress version on their side as well, both files will merge automatically by Git.