"value":"\n <p>Whenever you need to start a new task in a codebase, I think it's important to always try to start with a clean slate.<\/p>\n\n<p>This is having an empty staging area and no lingering or uncommitted changes from previous tasks.<\/p>\n\n<p>I do this to avoid having contaminated commits that contain multiple changes. Each commit should be related to one change.<\/p>\n\n<p>You can use <code>git add -p<\/code> to <a href=\"\/daily\/2024\/10\/25\/always-review-your-changes\">review, stage and commit parts of your changes<\/a>, but as the uncommitted changes grow, you're less likely to do that and more likely to commit them at once with a generic commit message that offers no value when viewed in the commit log.<\/p>\n\n<p>You're more likely to create better and more valuable commits and write better commit messages if you break them into chunks and commit the changes as you make them.<\/p>\n\n<p>If you have extra files you don't want to commit, add them to a <code>.gitignore<\/code> file or <code>.git\/info\/exclude<\/code> so they're ignored.<\/p>\n\n<p>If you have uncommitted changes that you want to hide for now but re-add later, <a href=\"\/daily\/2024\/10\/24\/git-stash-is-underrated\">git stash is your friend<\/a>.<\/p>\n\n<p>If you want your changes to be completely separate, maybe <a href=\"\/daily\/2022\/08\/12\/git-worktrees-docker-compose\">git worktrees are for you<\/a>.<\/p>\n\n ",
"processed":"\n <p>Whenever you need to start a new task in a codebase, I think it's important to always try to start with a clean slate.<\/p>\n\n<p>This is having an empty staging area and no lingering or uncommitted changes from previous tasks.<\/p>\n\n<p>I do this to avoid having contaminated commits that contain multiple changes. Each commit should be related to one change.<\/p>\n\n<p>You can use <code>git add -p<\/code> to <a href=\"http:\/\/default\/daily\/2024\/10\/25\/always-review-your-changes\">review, stage and commit parts of your changes<\/a>, but as the uncommitted changes grow, you're less likely to do that and more likely to commit them at once with a generic commit message that offers no value when viewed in the commit log.<\/p>\n\n<p>You're more likely to create better and more valuable commits and write better commit messages if you break them into chunks and commit the changes as you make them.<\/p>\n\n<p>If you have extra files you don't want to commit, add them to a <code>.gitignore<\/code> file or <code>.git\/info\/exclude<\/code> so they're ignored.<\/p>\n\n<p>If you have uncommitted changes that you want to hide for now but re-add later, <a href=\"http:\/\/default\/daily\/2024\/10\/24\/git-stash-is-underrated\">git stash is your friend<\/a>.<\/p>\n\n<p>If you want your changes to be completely separate, maybe <a href=\"http:\/\/default\/daily\/2022\/08\/12\/git-worktrees-docker-compose\">git worktrees are for you<\/a>.<\/p>\n\n ",