In this post and webinar replay with AJ Morris, we cover several tools for local WordPress development. We also cover some of the basics of Git, a version control system, plus a Git cheatsheet of commands.
Text Editors / IDEs
1. Visual Studio Code
Code editing, redefined. Built on open source technology, so it can run everywhere. It’s Microsoft’s “lite” Visual Studio IDE.
- IntelliSense – Go beyond syntax highlighting and autocomplete.
- Debugging – Print statement debugging is a thing of the past.
- Built-in Git – Review diffs, stage files, make commits right from the editor.
- Extensible – Install extensions to add new languages, themes, debuggers, and connect to additional services.
2. Coda 2
An IDE for web designers and developers alike. With customizable features you can use this to do just about everything when it comes to building WordPress sites. New in Coda 2:
- Touch Bar support
- Speed improvements
- Editor Improvements
- Local Indexing
- Plugin Prefs
- CSS Overriding
- Panic Sync*
3. Sublime Text 3
A hackable text editor that many developers choose to use. Developer focused features like:
- Cross-platform use on OS X, Windows and Linux.
- Multiple Selections
- Command Palette
- Customize anything
- Instant switch between proejcts
- Powerful API and package ecosystem
A hackable text editor for the 21st Century
- Cross-platform editing – Works across operating systems. It is available for OS X, Windows or Linux.
- Built-in package manager – search for and install new packages or create your own.
- Smart autocompletion – Atom helps you write code faster with a smart and flexible autocomplete.
- File system browser – Easily browse and open single files, a whole project, or even multiple projects in one window.
- Multiple panes – Easily split Atom into multiple panes to compare and edit code.
Bitbucket is more than just Git code management. Bitbucket gives teams one place to plan projects, collaborate on code, test, and deploy.
A code version control site based on Git. Built for developers and inspired by the way you work. You can host and review code, manage projects and build software with GitHub.
GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.
Cross-platform desktop application allowing users to interact with their code and version control system, including a Git cheatsheet.
Simplicity and power in a beautiful Git GUI. A free Git client for Windows and Mac that allows you to interact with your Git repositories so you can focus on coding. Visualize and manage your repositories through Sourcetree’s simple Git GUI.
A Git version control app for Windows and Mac. Provides clear visualization, better understanding of your code while allowing you to revert everything.
A Quick Git Cheat Sheet
Clone an existing repository
$ git clone ssh://[email protected]/repo.git
Create a new local repository
$ git init
Changed files in your working directory
$ git status
Changes to tracked files
$ git diff
Add all current changes to the next commit
$ git add .
Add some changes in <file> to the next commit
$ git add -p <file>
Commit previously staged changes
$ git commit
Change the last commit (don’t amend published commits!)
$ git commit --amend
Show all commits, starting with the newest
$ git log
Show changes over time for a specific file
$ git log -p <file>
Who changed what and when in <file>
$ git blame <file>
Branches & Tags
List all existing branches
$ git branch -av
Switch HEAD branch
$ git checkout <branch>
Create a new branch based on your current HEAD
$ git branch <new-branch>
Create a new tracking branch based on a remote brand
$ git checkout --track <remove/branch>
Delete a local branch
$ git branch -d <branch>
Mark the commit with a tag
$ git tag <tag-name>
Update & Publish
List all currently configured remotes
$ git remote -v
Show information about a remote
$ git remove show <remote>
Add new remote repository, named <remote>
$ git remote add <shortname> <url>
Download all changes from
$ git fetch <remote>
Download changes and directly merge/integrate into HEAD
$ git pull <remote> <branch>
Publish local changes on a remote
$ git push <remote> <branch>
Delete a branch on the remote
$ git branch -dr <remote/branch>
Publish your tags
$ git push --tags
Merge & Rebase
Merge <branch> into your current HEAD
$ git merge <branch>
Rebase your current HEAD onto <branch>
(Don’t rebase published commits!)
$ git rebase <branch>
Abort a rebase
$ git rebase --abort
Continue a rebase after resolving conflict
$ git rebase --continue
Use your configured merge tool to solve conflicts
$ git mergetool
Use your editor to manually solve conflicts and (after resolving) mark file as resolved
$ git add <resolved-file> $ git rm <resolved-file>
Undo – Discard all local changes in your working directory
$ git reset --hard HEAD
Discard local changes in a specific file
$ git checkout HEAD <file>
Revert a commit (by producing a new commit with contrary changes)
$ git revert <commit>
Reset your HEAD pointer to a previous commit… and discard all changes since then
$ git reset --hard <commit>
…and preserve all changes as unstaged changes
$ git reset <commit>
…and preserve uncommitted local changes
$ git reset --keep <commit>
Learn More at the WordPress Developer Course
WordPress development has changed a lot over the last 3 years since the last time we offered a WordPress Developer Course. With the addition of page builders, WordPress 5.0’s Gutenberg editor and modernized development practices, there’s a lot to learn and understand when it comes to WordPress development. The all-new Modern WordPress Developer Course, happening June 25, 26 & 27 is designed to cover everything you need to know to be a modern WordPress developer. If you are wanting to learn tools like Git, local development and configuring everything for proper usage, this course is for you!
Kristen has been writing tutorials to help WordPress users since 2011. You can usually find her working on new articles for the iThemes blog or developing resources for #WPprosper. Outside of work, Kristen enjoys journaling (she’s written two books!), hiking and camping, cooking, and daily adventures with her family, hoping to live a more present life.