#readwise # Changing History, or How to Git Pretty — Justin Hileman Dot Info ![rw-book-cover](https://readwise-assets.s3.amazonaws.com/static/images/article1.be68295a7e40.png) ## Metadata - Author: [[justinhileman.info]] - Full Title: Changing History, or How to Git Pretty — Justin Hileman Dot Info - URL: http://justinhileman.info/article/changing-history/ ## Highlights - At a high level, git-flow enforces a branching model with two primary branches: develop and production. **All development**, unsurprisingly, happens in the develop branch. More specifically, it **happens in feature branches which are merged back into develop. This develop branch is always production-ready.** It is periodically tagged and merged into production, and released into the wild. - Don’t pee in the pool Changing history sometimes has far-reaching implications, and if you’re going to go this route, you should realize the consequences of your actions. Back to the swimlanes for a minute. ![](http://justinhileman.info/article/changing-history/pee-one.png) ![](http://justinhileman.info/article/changing-history/pee-two.png) If you pee in your own swimlane, you’re the only person who has to deal with it. But as soon as you pee in someone else’s swimlane, you’ve crossed a line. Be aware of who is downstream **Basically, you should only change history if (1) you are the only one affected, or (2) you hate everyone downstream from you.** - Wow. That’s a lot to keep straight. I know, right? But look! I made a flowchart! ![](http://justinhileman.info/article/git-pretty/git-pretty.png)