<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Git on Mike Bell - Blog &amp; Stuff</title><link>https://mikebell.io/tags/git/</link><description>Recent content in Git on Mike Bell - Blog &amp; Stuff</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>hello@mikebell.io (Mike Bell)</managingEditor><webMaster>hello@mikebell.io (Mike Bell)</webMaster><copyright>© 2026 Mike Bell</copyright><lastBuildDate>Thu, 03 Apr 2014 00:00:00 +0000</lastBuildDate><atom:link href="https://mikebell.io/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>The Commit Message Standard</title><link>https://mikebell.io/posts/the-commit-message-standard/</link><pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/the-commit-message-standard/</guid><description>
&lt;p>Since we have git flow as a nice standard it makes sense to standardise our commit messages as well.&lt;/p>
&lt;p>Here’s the following proposed standard:&lt;/p>
&lt;blockquote>
&lt;p>[Updated | Added | Removed (required)] [Component (required)] [Reason] - [Issue Reference (required)]&lt;/p>&lt;/blockquote>
&lt;p>Action - Updated/Added/Removed - Three options to concisely describe what this commit achieves. If your commit message doesn’t fit any of the words then you might want to reconsider splitting the commit up into smaller chunks (git add -p). Other verbs can be used here but sticking to these 3 as a standard makes you think a bit more carefully about the context of the commit message.&lt;/p>
&lt;p>Component - The area/module/class/method you’ve edited. Note that this isn’t filename it’s a reference to the general area so if people are searching for commits related to the area they can find it easier.&lt;/p>
&lt;p>Reason - A general reason for the update, at a minimum it should include a one line summary of the issue your references.&lt;/p>
&lt;p>Issue Reference - A mandatory reference to the ticket ID.&lt;/p>
&lt;p>I’m looking for feedback on this so please post a comment below!&lt;/p>
&lt;p>Additional Resources:&lt;/p>
&lt;p>&lt;a
href="http://twitter.com/miss_jwo"
target="_blank"
>@miss_jwo&lt;/a> pointed me to &lt;a
href="https://gist.github.com/rmccue/daf72eaffe984f988a0a"
target="_blank"
>https://gist.github.com/rmccue/daf72eaffe984f988a0a&lt;/a> - Some good starting points but I think it misses a lot of vital points.&lt;/p>
&lt;p>Thanks for reading via RSS!&lt;/p>
&lt;p>Send me a message on &lt;a href="https://remotelab.uk/mikebell">Mastodon&lt;/a> or &lt;a href="mailto:hello@mikebell.io">email me&lt;/a>&lt;/p></description></item><item><title>Git just fucking get on with it.</title><link>https://mikebell.io/posts/git-just-fucking-get-on-with-it/</link><pubDate>Tue, 16 Jul 2013 00:00:00 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/git-just-fucking-get-on-with-it/</guid><description>
&lt;p>Here is an unedited version of the post. Raw and uncensored:&lt;/p>
&lt;p>After many a fruitless and frustrating discussions around git best practices here&amp;rsquo;s my bulletproof method:&lt;/p>
&lt;ul>
&lt;li>Tag it - if you want to release code you have to tag it. By tagging you also own that release if it doesn&amp;rsquo;t fucking work I&amp;rsquo;ll hunt you down. You did test it, right?&lt;/li>
&lt;li>What branch should I use? I don&amp;rsquo;t give a shit. I really don&amp;rsquo;t, you&amp;rsquo;re a big boy now we&amp;rsquo;ve let you use big boy tools like the command line take some initiative.&lt;/li>
&lt;li>It&amp;rsquo;s 5pm on a Friday before a bank holiday can we release? Wait there&amp;rsquo;s a gif for this&amp;hellip;&lt;/li>
&lt;/ul>
&lt;p>OK so it&amp;rsquo;s extreme so here&amp;rsquo;s the rational slightly less angry and more rational version:&lt;/p>
&lt;ul>
&lt;li>Tagging - By tagging you recognise that the build is ready for production, it&amp;rsquo;s a releasable point in the code. You&amp;rsquo;re also taking responsibility for that release (you may not be release manager), you&amp;rsquo;ve deemed it good enough to release to production.&lt;/li>
&lt;li>Branching - Seriously here I don&amp;rsquo;t care, ideally you&amp;rsquo;ll be using your own fork of the repo so you can do whatever you want (if not create a new branch don&amp;rsquo;t touch dev/prod). That&amp;rsquo;s the great thing about git if you want n branches you can have n branches. Just make sure when you&amp;rsquo;re ready to merge back into the production repo you submit a pull request against my dev branch.&lt;/li>
&lt;li>No brainer here, unless it&amp;rsquo;s an emergency your code release really isn&amp;rsquo;t as important as you think it is. There is also a flip side to this, if your test coverage is pretty damned good then fine release, the release has to be pretty tight though.&lt;/li>
&lt;/ul>
&lt;p>My ideal repository would be two branches, dev and prod. People submit pull requests to dev and I then merge code ready for release to prod and tag it ready for it to be released. It&amp;rsquo;s simple, here&amp;rsquo;s an interesting use case:&lt;/p>
&lt;blockquote>
&lt;p>Company A readies a release tagged 1.0&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>Company B has an emergency release that has to be deployed&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>Company A doesn&amp;rsquo;t want to mess around with their branch&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>Company B branch from 0.9 applies any emergency fixes and create 1.0.1&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>Company A merges in 1.0.1 changes from B and creates new release 1.0.2&lt;/p>&lt;/blockquote>
&lt;p>There are no reverts here, no backwards and forwards between companies asking wtf is going on. Just a simple logical solution.&lt;/p>
&lt;p>I hope this helps people refine their git practices.&lt;/p>
&lt;p>Thanks for reading via RSS!&lt;/p>
&lt;p>Send me a message on &lt;a href="https://remotelab.uk/mikebell">Mastodon&lt;/a> or &lt;a href="mailto:hello@mikebell.io">email me&lt;/a>&lt;/p></description></item></channel></rss>