Skip to content

WordPress – .gitignore file excludes directories from being committed to Git

You want to keep track of the code that you write and change but in a WordPress theme or custom plugin but you do not need to track all directories. For example, plugins written by other developers are version controlled by the WordPress plugin directory – they do not need to be committed. But bespoke themes and custom plugins do.

Here is a template .gitignore file which should help.

# This is a template .gitignore file for git-managed WordPress projects.
#
# Fact: you don't want WordPress core files, or your server-specific
# configuration files etc., in your project's repository. You just don't.
#
# Solution: stick this file up your repository root (which it assumes is
# also the WordPress root directory) and add exceptions for any plugins,
# themes, and other directories that should be under version control.
#
# See the comments below for more info on how to add exceptions for your
# content. Or see git's documentation for more info on .gitignore files:
# http://kernel.org/pub/software/scm/git/docs/gitignore.html
 
# Ignore everything in the root except the "wp-content" directory.
/*
!.gitignore
!wp-content/
 
# Ignore everything in the "wp-content" directory, except the "plugins"
# and "themes" directories.
wp-content/*
!wp-content/plugins/
!wp-content/themes/
 
# Ignore everything in the "plugins" directory, except the plugins you
# specify (see the commented-out examples for hints on how to do this.)
wp-content/plugins/*
# !wp-content/plugins/my-single-file-plugin.php
# !wp-content/plugins/my-directory-plugin/
 
# Ignore everything in the "themes" directory, except the themes you
# specify (see the commented-out example for a hint on how to do this.)
wp-content/themes/*
# !wp-content/themes/my-theme/

With thanks to http://stackoverflow.com/questions/5241644/using-gitignore-to-ignore-everything-but-specific-directories

About 

10 years + experience in web development working with lots of different technology.

Published inGitWordPress

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *