Merging conflicts will be an issue no matter what you’re working on. Maintaining different sets of code bases based on the version/release will be an issue even when working alone.
Situation: You’re building some software to display emojis based on user input.
Current code: when user types “happy”, output 🙂
Your new requirement: when user types “happy”, output 😃 instead of 🙂
Coworker’s new requirement: when user types “sad”, output 😭
You implement your change, back it up, and the new version with 😀 is released. But it turns out 😃 is the ultimate insult in the Snowflake region, and you need to immediately rollback 😃 back to 🙂 while you find an alternative.
Meanwhile, Coworker has added 😭 to your backup, which still has 😃. Now when you try to rollback to 🙂, Coworker’s code gets erased. Now your code is unable to safely support both 😭 with 🙂 without starting over entirely. Maybe you want to disable 😀 only for the Snowflake region, but that’s not possible either without harding coding the regions instead of just changing the deployment.
Now imagine working with a team of 10 people, or a company with 100 people working on this same software. With features and release dates constantly changing.
I would agree with more people these tools become more needed, but I am talking about a solo dev situation who is the only person who accesses the code base. All other contributors I carefully import.
That doesnt sound like a good reason. What other reasons could you possibly have to do copypasta backups over what you can at least use as a diff based backup letting you still access any old version you want
I just find frequent full backups give me more control and less surprises when I find out my code did not sync/commit or some other issue. Done it for 3 years and it has been very worthwhile. Saved my project from a loss so many times now.
Another reason I just manually backup my project and avoid Git despite all my other developer friends shaming me. One command and I am out of there.
That doesn’t hold up so well when you work with other people on a project.
Yes and no depending on what you are working on.
Merging conflicts will be an issue no matter what you’re working on. Maintaining different sets of code bases based on the version/release will be an issue even when working alone.
Can you describe a situation that underscores this issue as I am not seeing it, but maybe I experience it and do not even realize.
Situation: You’re building some software to display emojis based on user input.
Current code: when user types “happy”, output 🙂
You implement your change, back it up, and the new version with 😀 is released. But it turns out 😃 is the ultimate insult in the Snowflake region, and you need to immediately rollback 😃 back to 🙂 while you find an alternative.
Meanwhile, Coworker has added 😭 to your backup, which still has 😃. Now when you try to rollback to 🙂, Coworker’s code gets erased. Now your code is unable to safely support both 😭 with 🙂 without starting over entirely. Maybe you want to disable 😀 only for the Snowflake region, but that’s not possible either without harding coding the regions instead of just changing the deployment.
Now imagine working with a team of 10 people, or a company with 100 people working on this same software. With features and release dates constantly changing.
I would agree with more people these tools become more needed, but I am talking about a solo dev situation who is the only person who accesses the code base. All other contributors I carefully import.
That doesnt sound like a good reason. What other reasons could you possibly have to do copypasta backups over what you can at least use as a diff based backup letting you still access any old version you want
I just find frequent full backups give me more control and less surprises when I find out my code did not sync/commit or some other issue. Done it for 3 years and it has been very worthwhile. Saved my project from a loss so many times now.