DEV Community

Zach
Zach

Posted on • Edited on

Git Workflow

In this post:

My Git Workflow

I've started using git as a tool, and not just something that I have to do. In this way it's turned from a liability into an asset. There's nothing crazy going on - although there is just maaaybe a little bit of magic happening.

The Workflow

Here are fragments of how I approach git and incorporate it into my work:

  • Am I starting a new feature?
    • Ok, checkout a new branch.
  • Have I produced any work that is:
    1. Complete?
    2. Incomplete but is substantial/meaningful and hasn't broken anything else?
      • Commit that branch with an appropriate message.
  • Can I merge complete work on a side branch into my main branch?

    • Merge into main.
  • Have I gone too far down the wrong path?

    • Checkout an earlier commit.
    • I'm now in the DETACHED HEAD state.
    • Have I completed work on the detached head that I'd like to preserve?
    • Merge it! (So far i've only done that by creating a new branch out of it and then merging that new branch. But there are ways of merging it directly.)
  • Am I curious about some feature of an earlier commit?

    • Look it up and investigate based on a clearly written commit message!

The Magic

I might have noticed that writing with committing in mind has changed how I approach code. I have always enjoyed writing code that is runnable/testable as possible. That means moving incrementally, starting with the fundamental kernel of what I'm trying to achieve and then building with subsequent rounds of code here. Git reinforces that.

I want to commit often. I also want to commit working code. A synergy exists between these two forces.

I've long been comfortable operating with a starting vision, and writing code, switching between files as I put those varied pieces together, and often layering additional, non-elemental (for that stage), functionality on top as I go. Working with git has given me a greater discipline for keeping stages (those pieces of work between commits) simpler, and functional.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay