Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

git advanced -- how to maintain a comprehensible history

  • when projects get bigger
  • show bad example with merge commits
  • show git-flow being harmful
  • show git-pretty

Advanced git is not about edge use cases, it's all about keeping your history comprehensible, i.e. understandable.

trunk based development

  • project history, e.g. via gitk or git lol, should resemble a tree
  • for this section we're sticking to the tree metaphor
  • long-lived branches basically master (and releases)
  • long trunk of tree
  • dead branches on lower trunk (old, unmaintained releases), which may also be cut down in time if support is dropped
  • only clean merges (could have been ff)

final chapter

  • consider like backup slides
  • show goodies

resources