Do you ever find yourself juggling an ever growing list of things to think about when you are working on a feature? Do you find yourself losing track of what needs to be done next to make progress? If you do (and, spoiler, we all do), then this is the talk for you.

One tool that we under use to help us keep focused and keep our work simple is our source control system. In this talk I will outline some habits and practical techniques to apply to your local development workflow with git that can help simplify the development of software in complex, real world environments and make you a better software developer. These include

  1. Planning your commits
  2. Making atomic commits
  3. Writing commit messages that provide context to your decisions
  4. Ensuring that each of your development branches has a single purpose
  5. Regularly using git rebase --interactive to ensure your development branches tell a clear story about the work that you are doing

A neat side effect of these approaches is that they will give you the added bonus of well documented code that is easier for your colleagues to review and/or make sense of in future

This talk was recorded at London Python Meetup by Skillsmatter.