I’ve been using GitHub since October 2012 but until recently I’ve had very little understanding of any working process that enables me to contribute to other projects using Pull Requests ( PRs ).
But now I’ve started to try to work with branches. Two reasons:
In this post I’ll document the process I’m using for developing PRs against Gutenberg issues.
I read the instructions on WordPress.org. They all made sense, but I couldn’t work out how to create a PR that only contained the changes I’d intended to make. While the overall effect of my PRs were the change I intended, every Pull Request consisted of multiple commits, not just the one I wanted to apply. Obviously I was doing it wrong.
I read some Stack Overflow items ( thanks Angel for directing me to them ) and discovered the git commands that appear to do the job.
I’ve now created 4 or 5 PRs using this method. And so far I’ve not had any problems. This is a good thing. I’ve just re-read the Git Workflow process and realised it’s almost exactly the same.
cd \apache\htdocs\wordpress\wp-content\plugins git clone https://github.com/bobbingwide/gutenberg.git gutenberg-source cd gutenberg-source git remote add upstream https://github.com/WordPress/gutenberg.git git fetch --all
Work in a new branch (
git checkout -b fix/%1 upstream/trunk
Now make and test changes in the new branch. Add files and commit as often as necessary, with a nice commit message, referencing the issue number each time?
git commit -m "good commit message 50-70 characters
When ready push the changes to your fork of the repository (
git push -u origin fix/%1
Theoretically this should work for any repository.
Then change back to the main branch
git checkout trunk
To keep the local repository up to date use
fetch --all. I believe this has to be done in
C:\apache\htdocs\wordpress\wp-content\plugins\gutenberg-source> git checkout trunk git fetch --all Fetching origin Fetching upstream remote: Enumerating objects: 3248, done. remote: Counting objects: 100% (3248/3248), done. remote: Compressing objects: 100% (273/273), done. Receiving objects: 100% ( Receiving objects: 100% (4749/4749), 51.99 MiB | 3.85 MiB/s, done. Resolving deltas: 100% (3648/3648), completed with 996 local objects. From https://github.com/WordPress/gutenberg ...
For the 150 or so GitHub repositories under
bobbingwide I developed all my changes in the
main branch. It’s still called
master for many of them. Then I pulled the changes to a local version in
C:\github\bobbingwide\repository-name and pushed them from there.
I had two copies of each repository. One reason for this was protection against having the repository destroyed accidentally by WordPress updates or unpacking
.zip files into other development enviroments.
Last updated:May 28, 2021
Well that was a fuck up!
I’ve heard reports that the Classic Editor plugin was updated just a few hours before WordPress 5.0 was released and now there’s a completely different user experience.
The ability to easily choose the editor to create your content has disappeared. For me, that was the whole reason for having the plugin. Some things don’t work in Gutenberg / 5.0 so I need the ability to use both.
I don’t think the use cases for the Classic Editor and Gutenberg and WordPress version combinations have been thought through. I know that I am going to continue to want to use both Gutenberg and the Classic editor under WordPress 5.0. And I need the ability to easily select my preferred editor. That’s how it was with 0.5. It’s how I tested my sites’ compatibility.
You don’t bugger about with something hours before a release. You give people a chance to test it.
Lessons need to be learned. WordPress 5.0 release should have been delayed until:
Fortunately, I haven’t yet upgraded anything yet. I will be testing Classic Editor v1.1 very carefully.
Last updated:December 7, 2018
At present 33% of my content could safely be edited using the Gutenberg block editor. Migrating safely to Gutenberg is going to take a long time.
Last updated:November 26, 2018
Should Gutenberg be allowed into WordPress core?
At the WordPress Portsmouth Meetup, 22nd February 2018, I gave a short talk and demonstration of the Gutenberg plugin which is being proposed as the new block editor for WordPress. In the deck are three slides entitled Road map, Current landscape and Projection. In this post I want to air my concerns about the part of the project that nobody appears to be thinking about… implementation.
Last updated:March 2, 2018