Skip to content

Instantly share code, notes, and snippets.

View JDFagan's full-sized avatar
:electron:
Building AI driven innovation

J.D. Fagan JDFagan

:electron:
Building AI driven innovation
  • Doma
  • San Francisco, CA
View GitHub Profile

Git DMZ Flow

TL;DR: To avoid breaking the build when merging independent PRs to master, introduce a "demilitarized zone" branch, merge PRs to it and merge it to master automatically on successful builds.

I've been asked a few times over the last few months to put together a full write-up of the Git workflow we use at RichRelevance (and at Precog before), since I have referenced it in passing quite a few times in tweets and in person. The workflow is appreciably different from GitFlow and its derivatives, and thus it brings with it a different set of tradeoffs and optimizations. To that end, it would probably be helpful to go over exactly what workflow benefits I find to be beneficial or even necessary.

  • Two developers working on independent features must never be blocked by each other
    • No code freeze! Ever! For any reason!
  • A developer must be able to base derivative work on another developer's work, without waiting for any third party
  • Two developers working on inter-dependent features (
@JDFagan
JDFagan / snapshots.py
Created November 18, 2016 20:15 — forked from Eyjafjallajokull/README.md
AWS EBS - Find unused snapshots - this script generates csv raport about snapshot usage
import re
import boto3
import csv
from botocore.exceptions import ClientError
ec2 = boto3.client('ec2')
def get_snapshots():
return ec2.describe_snapshots(OwnerIds=['self'])['Snapshots']