docs(daily-email): add 2022-11-21

This commit is contained in:
Oliver Davies 2022-11-24 22:54:14 +00:00
parent 9ad72e71b7
commit e79804bb22

View file

@ -0,0 +1,21 @@
---
title: >
Git tricks to avoid committing commented-out and other unneeded code
pubDate: 2022-11-21
permalink: >
archive/2022/11/21/git-tricks-to-avoid-committing-commented-out-and-other-unneeded-code
tags:
- git
---
[Yesterday's email](https://www.oliverdavies.uk/archive/2022/11/20/version-controlled-commented-out-code) talked about whether commented-out code should be present if your code is version-controlled, but how do you avoid committing it in the first place?
You could make sure that you remove everything manually before you stage and commit your changes, or I like to use `git add --patch` (or `git add -p`) to interactively stage my changes, allowing me to select which parts of files I want to include in my commit and ignore anything else. The `--patch` option also works for other commands, including `checkout` and `reset`.
If you've already committed something like some debug code, you can use `git commit --amend` to amend the previous commit before pushing it, or if you have a separate clean-up commit, you can use `git rebase --interactive` and either the squash or fixup options to amend the original commit.
If some old code has been removed and you want to find it, you can use `git log -S` with a string to search for, and Git will show a list of commits where the specified string was changed.
If instead, you wanted to search for text within the commit message, you can use `git log --grep` with a string like an issue number to see a list of commits with that text in the commit message subject line or body.
I hope these tips help keep unwanted code out of your version-control repository.