Tag Git

Using `git commit --fixup=` to track changes that need to be applied on top of another commit

Using git commit --fixup= and git rebase --autosquash to easily track and squash fix commits.

Backporting/Replaying Changes Using `git cherry-pick`

Using git cherry-pick to make it easier to backport or replay Git commits across different versions of your codebase.

Safely Force Pushing with Git using `--force-with-lease=ref`

How git push --force-with-lease=ref can save you from overriding others' changes on shared Git branches

My editorial workflow for blog posts

Taking you through the journey I go on when writing blog posts, from ideation to publishing the post.

Viewing Git history of a file in `git log` while ignoring file renames

How to track changes to files in Git without pesky file renames getting in the way, using git log --follow

Merging multiple repositories into a monorepo, while preserving history, using `git subtree`

How to merge multiple repositories, with their history, into a single repository, using the git subtree add command

Better Git Diff Outputs with Git Submodules

How to get nicer diffs when working with submodules.

Clean up your Git branches

Remove any merged local or branches from your local Git repository

Viewing your diff while writing your commits with git commit --verbose

Making it easier to write commit messages by having the diff in your editor.

Saving Repetition with Git Commit Templates

Speed up your commit message writing by providing a template for when you run git commit.