it has always bothered me that checkout is overloaded: it can switch branches or discard pending changes in an unrecoverable way.
so, PSA, you can replicate the safe part of checkout with
git switchand the unsafe withgit restore.I agree, I wonder why they decided to design it that way in the first place.
In both cases, checkout updates your working tree (by checking out either all or just some files from a commit), just when you’re switching branches it moves your HEAD pointer too
git push master --forceI still see master branches everywhere, even my new personal repos. This git renaming story is one of the most stupid OSS pushes I remember. That and Gimp fork, that then died out I think.
deleted by creator
It wasn’t even tech bros. Some people started using opensource software, discovered the master branch and lost their shit. Nobody meaningful had ever connected the name to anything malevolent, but those people made themselves be offended in the name of people who weren’t even offended by it.
Microsoft bought github and didn’t want the bad press so they renamed it after the twitter shitstorm. The professional victims then moved on to whatever else made noise on twitter and that was that.
I force all new projects to use master as all my old scripts and repos use master. Twitter shitstorms scan stay where they should be: in the toilet bowl of the internet aka twitter.
And think of all those poor processes being executed and killed.
And most of them are children!
For some of them, specially on servers, the execution drags on for hours and hours. That is just cruelty!
deleted by creator
deleted by creator
Transcription
The “It’s an Older Meme, But It Checks Out” meme, featuring an image of an Imperial officer from Star Wars, with the caption:
It’s an older branch, sir
But it checks out
I usually create new repos through GitHub or another central repo’s system, where it defaults to calling the main branch
main. But I did recently create a new repo with my local Git’sgit init, and had to deal with amasterbranch on a completely new repo for the first time in a while. It was actually kinda a weird experience.git checkout -b main git branch -D master git config --global init.defaultBranch mainYou don’t have to deal with shit if you don’t want to.
If you haven’t already found it, you need to change your global git config (
~/.gitconfig):git config --global init.defaultBranch main(or whatever you want to call it; e.g.
daddywould work too)For any existing repositories you want to run the following command in the existing repository root (
./.git/config):git config set init.defaultBranch maindaddybranch.Love it.
Yeah, current company has their internal git server default to master and it was a little odd first time I created a new repo. Luckily all the CI templates can recognize either name so I just switched it.
No latest branch
I never understood why we moved away from “trunk”.








