Git for WordPress Developers
4.1 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
293 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Git for WordPress Developers to your Wishlist.

Add to Wishlist

Git for WordPress Developers

Automating WordPress Version control
4.1 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
293 students enrolled
Created by Richard Miles
Last updated 11/2016
Curiosity Sale
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
  • 4.5 hours on-demand video
  • 9 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Set up Git for a WordPress theme
  • Maintain WordPress plugins in Git
  • Automate, manage and migrate a WordPress database with Version control
  • Effectively manage WordPress file uploads in a version controlled environment
View Curriculum
  • A basic understanding of WordPress development
  • A development enviroment with a functioning WordPress installation

There are a few simple truths that remain consistent despite the pace at which technology advances in the web development industry.

One of which is version control.

In this course I would like to take you through how to properly navigate, Git a system of version control for every aspect of your WordPress site including themes, plugins the database and uploads.

We will also dive into the command line moving away from graphical user interfaces, so to leverage the power of git and bash scripting.

In this course we will be covering how to:

  • Create a Free Account on Github

  • Install Git on a machine

  • Setup Version control on a WordPress site locally

  • Some basic bash scripting for git and WordPress

  • Properly link a local git repository to Github

  • The logistics of pushing and pulling to Github using nothing but the command line

  • How to properly setup javascript, css and task management dependencies for version control in WordPress

  • Write a portable bash script that can automatically download and install plugins as well as import and export a WordPress database

  • How to link a WordPress site to a Content Delivery Network for free, to simplify upload management and speed up your site dramatically

All while within the paradigm of using Github effectively in a collaborative environment

I have no doubt that if you are a WordPress developer and you are not currently using version control everyday that this course will be a massive additional bonus to your skill-set.

Who is the target audience?
  • Intermediate - Senior WordPress Developers
Students Who Viewed This Course Also Viewed
Curriculum For This Course
39 Lectures
Introduction to Git
15 Lectures 01:31:24

An introduction and brief look at the tools suggested for this course. This includes:

  • Sublime Text
  • Cygwin
  • Vagrant
  • Xampp
  • Wamp
  • Mamp
Preview 01:31

How to install git for your machine as well as a setup and brief introduction to GitHub. We also take a look at Gists

Introduction to git, github and gists

A look into how to create a repository, log issues, use the project dashboard and add collaborators among other minor Github settings.

Walkthrough the Github interface

How to clone the `_s` theme from automatic to our local machine and begin making changes to it in the context of version control. We also cover some bash navigation and file manipulation from the terminal.

Cloning a WordPress theme using git

Cloning a git repository
1 question

Look at how to use the following commands in a WordPress theme example:

  • git status
  • git add
  • git commit
  • git log
Introduction to git command line

Introduction to the git command line
1 question

A graphical representation of how branches in git work as well as a discussion of best practices in a collaborative environment.

Branching in git

Branching in git
1 question

A practical example of how branches in git work using the command line interface as well as how to push changes to Github using https

Pushing to git from local using https

Pushing to git from local using https
1 question

How to create a public and private ssh key that will later be added to Github for authentication.

Creating a ssh key for Github

Creating a ssh key for Github
1 question

How to creating additional ssh profiles on a single machine using a ssh config file. 

A look at how to switch Github profiles on your machine.

An introduction to the command line text editor `vim`.

Creating multiple ssh profiles on a single machine

How to find the contents of our public ssh key and add it to Github for ssh authentication.

Adding a ssh key to Github

How to create a Pull Request from a forked a repository as well as how it is merged.

Opening and merging a pull request on Github

Opening and merging a pull request on Github
1 question

Merge conflicts are something that need to be dealt with all the time in version control. Here we discuss how they are created and how to deal with them appropriately.

Dealing with merge conflicts in Git and Github

How to install and make use of the Node Package Manager, Grunt and Sass in the context of a WordPress theme and Git.

Dependency management in Git

Dependency management in Git
1 question

What a gitignore file is, as well as how to use it in the context of dependency management in a WordPress site.

Introduction to the gitignore
WordPress plugins in Git
14 Lectures 02:07:37

Plugins, Uploads and the WordPress Database are areas within a WordPress site that are difficult to put into version control (git). We discuss how to tackle these issues in upcoming sections.

Preview 00:36

Discuss three options of how Git for WordPress plugins is possible, as well as making the decision about which way is the best.

Options for plugin version control

How leverage the power of bash scripting to create a script that automates tasks that would otherwise be tedious and time consuming to do manually.

Introduction to bash scripting

Introduction to bash scripting
2 questions

How to loop through files in a bash scripting using a for loop as well as how to unzip them.

Dealing with files in bash

Discussion around the best way to manage 3rd party plugins.

Getting plugins from 3rd party sources

How to read a text file that will ultimately serve as a list of plugins to be downloaded and installed automatically.

Reading a text file with a while loop in bash

How to find the zip file online for a WordPress plugin as well as how to automate its download and unzipping it to the correct folder using a bash script.

Downloading a list of files using a bash script

Downloading a list of files using a bash script
2 questions

How to setup our environment to cater for premium and custom plugins where the .zip files are not readily available for public download.

Catering for premium and custom plugins

How to download a plugin from a private Github repository securely using the Github API and a secure token.

Introduction to the Github API

Introduction to the Github API
1 question

How to use `git archive` to achieve the same result as a secure call made to our Github repository for the BitBucket platform.

Introduction to BitBucket

Introduction to BitBucket
2 questions

A look at how to use a more general format called JSON to store and categorize our plugins. 

We also take a look at some command line tools that will help improve our script which include:

  • sed
  • jq
  • grep
Tools for improving our plugin script

Construct a regular expression based script that robustly handles the downloading of WordPress plugins.

Building our Plugin download script

A continuation of creating our regular expression as well as copying and modifying it for our premium plugins function.

Adding the premium plugins function

How to install plugins from our scripting using WordPress's built in command line tool.

Installing plugins using the wp-cli
WordPress Database version control
6 Lectures 45:40

Discussion around if a WordPress database should be used and how to go about doing it.

Preview 01:17

How to setup the wp-migrate-db plugin for WordPress Database Exporting, as well as the pros and cons of the tool

Preview 04:21

How to use mySQL to export a WordPress Database, as well as the pros and cons of doing so.

How to add this to a bash script to automate database exporting.

Exporting a WordPress database with mySQL

Exporting a WordPress database with mySQL
1 question

How to write a universal find and replace script that uses sed and command line input to find and replace anything in our database.

Creating a Find and Replace script for our SQL file

How to run a command in the WordPress command line interface that will automatically handle database exporting for us.

Exporting a WordPress database using the WP-CLI

A brief discussion on how to import a Database to WordPress with nothing but a sql zip file.

Importing a Database in WordPress
Auto deployment for WordPress with Version Control
1 Lecture 02:52

A discussion around the pros and cons of the following auto deployment services.

  • FTPloy
  • DeployBot
  • Beanstalk
Preview 02:52
Dealing with Uploads in Version Control
2 Lectures 10:59

What a Content Delivery Network is as well as how we can use it for our images and files on WordPress site to cater for speed and Version Control.

Introduction to CDN

The steps required in order to host your images on amazon including:

  • Creating an s3 bucket
  • Installing the Free plugins for s3 offload
  • Creating Authentication Keys for s3 to connect to our WordPress site
Creating an s3 bucket and linking it to WordPress
Closing Section
1 Lecture 00:36

Some Inspiration moving forward

Closing Lecture
About the Instructor
Richard Miles
4.4 Average rating
121 Reviews
8,086 Students
2 Courses
Web Developer

Richard is a Web Developer from Cape Town. He is passionate about learning and implementing new technology in the world of API’s, web and mobile application development. With a focus on WordPress and Django. Richard is also a BMUS graduate who enjoys gaming, galavanting around Cape Town and craft beer.