<?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>Deployment on Mike Bell - Blog &amp; Stuff</title><link>https://mikebell.io/tags/deployment/</link><description>Recent content in Deployment 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>Tue, 16 Jul 2013 00:00:00 +0000</lastBuildDate><atom:link href="https://mikebell.io/tags/deployment/index.xml" rel="self" type="application/rss+xml"/><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>