/Git

No Longer My Favorite Git Commit

- Michael Lynch tl;dr: Six years ago, David Thompson wrote a popular blog post called “My favourite Git commit” celebrating a detailed commit message. I enjoyed the post at the time and have sent it to several teammates as a model for good commit messages. I recently revisited Thompson’s article as I was creating my own guide to writing commit messages. When pressed to explain what made Thompson’s post such an effective example, I was surprised to find that I couldn’t. I couldn’t justify it as a model of good software engineering.

featured in #600


Git Without A Forge

- Simon Tatham tl;dr: “I don’t use any git ‘forge’ system layered on top of Git, like Gitlab or Github, which automatically makes a bug tracking database for each project, and provides a convenient button for a user to open a merge request / pull request. I just use plain Git. People can ‘git clone’ my code, and there’s a web-based browsing interface for looking around without having to clone it at all. But that’s all the automated facilities you get. Occasionally this confuses people, so I thought I should write something about it.”

featured in #597


How Core Git Developers Configure Git

- Scott Chacon tl;dr: From the co-founder of GitHub: “In this post, I’ll go through some of the perhaps obscure Git config settings that I have personally globally enabled and go into them to explain what they do and why they should probably be the default settings.”

featured in #594


Git Trailers

- Brooke Kuhlmann tl;dr: “Git trailers are a powerful source of metadata as parsed by the Git Interpret Trailers command. Even better, trailers can be applied to commits and tags. Unfortunately, trailers are severely underutilized so I’d like to show you why they are important and how you can make the most of them to improve your workflow.”

featured in #583


Git - Beyond The Basics

- Anders Sundman tl;dr: “How well do you know Git? Many of us use it daily and pick up the basics as we go. After a few years, you might start to think that you know Git pretty well. But there are more things in the Git man pages than are dreamt of in your philosophy...”

featured in #577


Git - Beyond The Basics

- Anders Sundman tl;dr: “How well do you know Git? Many of us use it daily and pick up the basics as we go. After a few years, you might start to think that you know Git pretty well. But there are more things in the Git man pages than are dreamt of in your philosophy...”

featured in #576


How I Configure My Git Identities

- Benji Mora tl;dr: “I like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it. A few years ago I learned about includeIf for including specific files if some condition was met for git.”

featured in #569


How To Fork: Best Practices And Guide

- Joaquim Rocha tl;dr: “Over the years, my work did sometimes involve maintaining forks of various open-source projects. That’s not the case with my job now, but when a colleague reached out for help with a fork that hadn’t been rebased in ages, it got me thinking that the steps I follow might be useful for other developers too. Hence this article.”

featured in #560


How I Use Git

- Thorsten Ball tl;dr: “How I use git is based on the last 12 years of working in companies with smallish (less than 50) engineering teams. In every team, we used git and GitHub exclusively; changes were made in branches, proposed as pull requests, and then merged into the main branch. In the last few years, after GitHub introduced squash-merging, we used that.”

featured in #559


Git Absorb

- Stephen Jung tl;dr: “You have a feature branch with a few commits. Your teammate reviewed the branch and pointed out a few bugs. You have fixes for the bugs, but you don't want to shove them all into an opaque commit that says fixes, because you believe in atomic commits.” Instead of manually finding commit SHAs for git commit --fixup, or running a manual interactive rebase, Stephen shows us an alternative.  

featured in #556