{ "uuid": [ { "value": "a8f06c67-81eb-471c-9081-0648c9400e27" } ], "langcode": [ { "value": "en" } ], "type": [ { "target_id": "daily_email", "target_type": "node_type", "target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7" } ], "revision_timestamp": [ { "value": "2025-05-11T09:00:51+00:00" } ], "revision_uid": [ { "target_type": "user", "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" } ], "revision_log": [], "status": [ { "value": true } ], "uid": [ { "target_type": "user", "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" } ], "title": [ { "value": "Commit and push something every day\n" } ], "created": [ { "value": "2022-12-02T00:00:00+00:00" } ], "changed": [ { "value": "2025-05-11T09:00:51+00:00" } ], "promote": [ { "value": false } ], "sticky": [ { "value": false } ], "default_langcode": [ { "value": true } ], "revision_translation_affected": [ { "value": true } ], "path": [ { "alias": "\/daily\/2022\/12\/02\/commit-and-push-something-every-day", "langcode": "en" } ], "body": [ { "value": "\n
One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day.<\/p>\n\n
It doesn't need to be a whole feature. It could be a new class with its passing tests, but it isn't used anywhere yet, so it won't affect the existing functionality, or it could be a new test for some existing functionality that was missing previously.<\/p>\n\n
It could be a small refactor - renaming a variable or class name that makes some code easier to read or removing some commented-out code that isn't doing anything other than adding visual clutter.<\/p>\n\n
It could be updating some documentation or writing a technical document<\/a>; if you keep those in your version control repository, that would help you implement the following change or to make the documentation clearer for the next reader - whether that's you or someone else.<\/p>\n\n Committing something at least once a day creates a different mindset to \"I'll write everything and push it when it's done\".<\/p>\n\n It makes you break up large tasks into multiple smaller ones and set mini-deadlines for yourself. I used to do the same when I commuted to work on a train and had a task for a freelance project to complete before I arrived. I used to think, \"What can I start, finish and commit before I get there?\" instead of leaving something incomplete.<\/p>\n\n You don't need to push your change to mainline. If you use the \"Ship, Show, Ask\" approach<\/a> then you could commit to a temporary branch that you either merge yourself once you know it passes the checks, or to show or get feedback from other team members.<\/p>\n\n Practicing this becomes a habit, and if you're doing test-driven development and committing after every passing test or refactor, you'll find yourself pushing numerous changes a day.<\/p>\n\n This became my normal approach instead of having long-lived feature branches or lots of unpushed local commits.<\/p>\n\n I much prefer making as small charges as possible and pushing them as often as I can.<\/p>\n\n ",
"format": "full_html",
"processed": "\n One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day.<\/p>\n\n It doesn't need to be a whole feature. It could be a new class with its passing tests, but it isn't used anywhere yet, so it won't affect the existing functionality, or it could be a new test for some existing functionality that was missing previously.<\/p>\n\n It could be a small refactor - renaming a variable or class name that makes some code easier to read or removing some commented-out code that isn't doing anything other than adding visual clutter.<\/p>\n\n