"value":"\n <p><a href=\"\/daily\/2022\/11\/20\/version-controlled-commented-out-code\">Yesterday's email<\/a> 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?<\/p>\n\n<p>You could make sure that you remove everything manually before you stage and commit your changes, or I like to use <code>git add --patch<\/code> (or <code>git add -p<\/code>) 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 <code>--patch<\/code> option also works for other commands, including <code>checkout<\/code> and <code>reset<\/code>.<\/p>\n\n<p>If you've already committed something like some debug code, you can use <code>git commit --amend<\/code> to amend the previous commit before pushing it, or if you have a separate clean-up commit, you can use <code>git rebase --interactive<\/code> and either the squash or fixup options to amend the original commit.<\/p>\n\n<p>If some old code has been removed and you want to find it, you can use <code>git log -S<\/code> with a string to search for, and Git will show a list of commits where the specified string was changed.<\/p>\n\n<p>If instead, you wanted to search for text within the commit message, you can use <code>git log --grep<\/code> with a string like an issue number to see a list of commits with that text in the commit message subject line or body.<\/p>\n\n<p>I hope these tips help keep unwanted code out of your version-control repository.<\/p>\n\n ",
"processed":"\n <p><a href=\"http:\/\/default\/daily\/2022\/11\/20\/version-controlled-commented-out-code\">Yesterday's email<\/a> 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?<\/p>\n\n<p>You could make sure that you remove everything manually before you stage and commit your changes, or I like to use <code>git add --patch<\/code> (or <code>git add -p<\/code>) 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 <code>--patch<\/code> option also works for other commands, including <code>checkout<\/code> and <code>reset<\/code>.<\/p>\n\n<p>If you've already committed something like some debug code, you can use <code>git commit --amend<\/code> to amend the previous commit before pushing it, or if you have a separate clean-up commit, you can use <code>git rebase --interactive<\/code> and either the squash or fixup options to amend the original commit.<\/p>\n\n<p>If some old code has been removed and you want to find it, you can use <code>git log -S<\/code> with a string to search for, and Git will show a list of commits where the specified string was changed.<\/p>\n\n<p>If instead, you wanted to search for text within the commit message, you can use <code>git log --grep<\/code> with a string like an issue number to see a list of commits with that text in the commit message subject line or body.<\/p>\n\n<p>I hope these tips help keep unwanted code out of your version-control repository.<\/p>\n\n ",