I am using Git and Beanstalk to build up WordPress in your area after which deploy towards the production server with Beanstalk's deployment process. But how do you sync changes which are made around the production server to my local development / git repo? Changes around the server may happen anytime someone installs a wordpress plugin. It is possible to method to pull individuals changes back to local?

I appreciate any assist with a Beginner's understanding in your mind. Thanks!

Changes should ideally 't be completed in production for me. Can't you consider a method for setting up plug ins whereby you add the wordpress plugin towards the git repo and push it to push? I realize that you're most likely speaking about setting up the wordpress plugin from WordPress UI which adds it to Push, however i feel you need to get the wordpress plugin content, supplment your repo and push to Push.

If that's difficult whatsoever, you need to make certain the wordpress plugin submissions are committed whenever a new wordpress plugin is set up in Push and you can git pull this content to sync.

I operate a Content management systems, so that as I stated within the comment, I received my workflow setup with the aid of manojlds. I needed to grow upon our implementation hoping fixing user produced content.

I setup gitolite as our remote repository. It rocks.

Our branching model works like so, with WordPress because the context:

master - # this is the _vanilla_ install of wordpress with no modifications
prod - # the branch that the production server pushes/pulls to
dev - # dev environment pushes/pulls to, in our case a server
alpha - # really early development, ideas, etc - my personal branch that i work on mostly
features (opt) - # as needed, I'll make feature branches then merge them into the other branches.

Our push, which handles about 40-45 different static files daily, includes a cron that instantly adds/commits user-transformed files and data every day. That accumulates all the user-based changes, and would (inside your situation) get wordpress plugin installs. This really is great since you have history on their own installs.

Actual changes towards the codebase are often investigated in alpha, then merged as much as dev. We have produced some hooks where whenever we push towards the dev branch, the dev server instantly pulls the brand new commit in. Then they are synced.

Once it has been examined within the development atmosphere, I sync my local production branch using the remote, which as mentioned, will get a person-content commit every single day. Then I'll merge or cherry-pick the commit into product, then push to push on gitolite. Next, the push server pulls and everybody is satisfied.

This seems like lots of work, but it is really been extremely effective, especially after a little hook scripting. I am still along the way of fine-tuning our deployment (for instance, I'm able to almost completely eliminate the alpha branch and work from dev/feature in your area), but we obtain an incredible bonus in really getting daily pictures from the production server, and a chance to sync all the branches anytime.

Also, relating to your master branch - departing this because the vanilla install of WordPress rocks !, since you can really test latest version upgrades easily. You can just checkout master then run the update, and gradually integrate custom remaking.