cd ~/repos/work-project27
git checkout dev
git branch new_feature
### code for a few hours, close laptop, go to sleep, next morning
git checkout dev
### code for a few more hours, close laptop go to sleep, next morning
## "oh fuck, I already implemented this in new_feature but differently"
git checkout dev
git diff new_feature
## "oh no. oh no no no. oh fuck. I can't merge any of this upstream and my history is borked."
git clone git@workhub:work/work-project work-project28
cd ~/repos/work-project28
It’s actually a pretty good idea to have a full system snapshot time to time, where the project can compile successfully, for future Virtual Machine use. It’s usually easier to spin a VM than setting up the whole dev environment from scratch.
Given that Git and Mercurial were both created around April 2005 to serve the same purpose by very similar people for the same reason... I'd say it's fair!
The only reason that we stopped using Mercurial is that Microsoft used Git in Azure DevOps. I still wish that they’d supported Mercurial instead of or as well as Git.
The last one can easily describe Django. Feels like depending on the code base/your mistakes/people you work with can easily turn a normal project into a project where majority of the files is just migration files.
I knew a dude who would burn a cd every week and store it in his house as his version control, his software is still used by hundreds of businesses to this day