4.25 out of 5
4.25
36 reviews on Udemy

Git for WordPress Developers

Automating WordPress Version control
Instructor:
Richard Miles
433 students enrolled
English [Auto-generated]
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

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.

Introduction to Git

1
Introduction to Git for WordPress Developers

An Introduction to the course

2
Some tools to look at before diving in

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

  • Sublime Text
  • Cygwin
  • Vagrant
  • Xampp
  • Wamp
  • Mamp
3
Introduction to git, github and gists

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

4
Walkthrough the Github interface

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

5
Cloning a WordPress theme using git

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.

6
Cloning a git repository
7
Introduction to git command line

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

  • git status
  • git add
  • git commit
  • git log
8
Introduction to the git command line
9
Branching in git

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

10
Branching in git
11
Pushing to git from local using https

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

12
Pushing to git from local using https
13
Creating a ssh key for Github

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

14
Creating a ssh key for Github
15
Creating multiple ssh profiles on a single machine

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`.

16
Adding a ssh key to Github

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

17
Opening and merging a pull request on Github

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

18
Opening and merging a pull request on Github
19
Dealing with merge conflicts in Git and Github

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.

20
Dependency management in Git

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

21
Dependency management in Git
22
Introduction to the gitignore

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

WordPress plugins in Git

1
The problem with WordPress and Version Control

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.

2
Options for plugin version control

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

3
Introduction to bash scripting

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.

4
Introduction to bash scripting
5
Dealing with files in bash

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

6
Getting plugins from 3rd party sources

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

7
Reading a text file with a while loop in bash

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

8
Downloading a list of files using a bash script

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.

9
Downloading a list of files using a bash script
10
Catering for premium and custom plugins

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

11
Introduction to the Github API

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

12
Introduction to the Github API
13
Introduction to BitBucket

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

14
Introduction to BitBucket
15
Tools for improving our plugin script

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
16
Building our Plugin download script

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

17
Adding the premium plugins function

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

18
Installing plugins using the wp-cli

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

WordPress Database version control

1
Introduction to version control for databases

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

2
Exporting a WordPress Database with WP Migrate DB

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

3
Exporting a WordPress database with mySQL

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.

4
Exporting a WordPress database with mySQL
5
Creating a Find and Replace script for our SQL file

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

6
Exporting a WordPress database using the WP-CLI

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

7
Importing a Database in WordPress

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

Auto deployment for WordPress with Version Control

1
Introduction to Auto deployment

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

  • FTPloy
  • DeployBot
  • Beanstalk

Dealing with Uploads in Version Control

1
Introduction to CDN

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.

2
Creating an s3 bucket and linking it to WordPress

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

Closing Section

1
Closing Lecture

Some Inspiration moving forward

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3
4.3 out of 5
36 Ratings

Detailed Rating

Stars 5
19
Stars 4
9
Stars 3
5
Stars 2
2
Stars 1
1
a2f0ff00018d7cf832374782f8a0e14d
30-Day Money-Back Guarantee

Includes

5 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion