Well, we all might have heard that GitHub will remove the master
naming convention for default branch.
Source: https://www.bbc.com/news/technology-53050955
GitHub's Twitter page posted that it stands with the black community and the fight against racism.
GitHub@githubBreonna Taylor, George Floyd, Ahmaud Arbery, Tony McDade, and countless others deserve justice. We extend our support to Black Hubbers and Black developers. GitHub stands with the Black community in the fight against racism and injustice, and will continue to take action.16:17 PM - 07 Jun 2020
There are many people who might be looking to rename their branch to something more clearer and better.
First of all let's understand what a master branch is?
In Git, "master" is a naming convention for a branch. After cloning (downloading) a project from a remote server, the resulting local repository has a single local branch: the so-called "master" branch. This means that "master" can be seen as a repository's "default" branch.
Why we are doing this?
The master-slave relationship in technology usually refers to a system where one - the master - controls other copies, or processes.
The years-old campaign to replace such terms has been given fresh impetus amid the resurgence of Black Lives Matter protests in the United States.
Mr Friedman's announcement came in a Twitter reply to Google Chrome developer Una Kravets, who said she would be happy to rename the "master" branch of the project to "main".
"If it prevents even a single black person from feeling more isolated in the tech community, feels like a no-brainer to me," she wrote. (Excerpt from BBC Report)
What are potential alternate names for master branch?
Alternate names can be:
- main
- edge
- release
- prod
- production
- live
- default
- head
- primary
- top
How to rename master branch to some other name?
Let's name our master
branch to release
i. Checkout your master
branch
git checkout master
ii. Create your release
branch and switch to it
git branch release
git checkout release
iii. Push that to the server
git push origin release
iv. Delete the master
branch reference on the server
git push origin :master
v. Delete the local master
branch
git branch -d master
Your thoughts!
Let me know what can be a more better name for master branch?
Share your ideas in the comments section so that it's easier for new developers and programming community to decide the alternative or I must say original names for both terminologies.
Top comments (21)
I'm happy for people to rename "master" to "main" (or "production" or whatever you want, but there's no "master-slave naming convention for branches" at the moment. I've never seen a project with a branch called "slave". The picture you included implies that people conventionally use a branch called "slave" and I think that's misleading. I know the BBC article doesn't help, but when people look back at articles like this in years to come, they're going to get, at the very least, an inaccurate impression of history.
People use "slave" terminology for things like database replicas, hard drive connections, etc., and changing the names there could be a good improvement, at least going forward.
Nope I've never seen a slave branch either. It's becoming a bit ridiculous now.
I'm not trying to say people shouldn't do it, I'm pointing out that this specific instance is not representative.
@mrsaeeddev if you're going to hide my comment, could you reply to it here? I'm happy for you to correct me, but I don't get why you'd want to hide this.
Because master-slave is a general computer science term that is not specific to branches. So, I've seen many people using branches other than master as slave branches. I already had a long discussion with another person here on the same topic. Since I removed the world slave altogether from the post after reservations of people like you so, I feel there's no need for more discussion on this topic. It will only spark controversy. My personal motive behind this post is to support BLM movement and I don't want to spark any heated debates relating to it or any other topic. I hope it is clearer now.
I'll be adopting
devel
for my team's repositories, complementary to ourfresh
andstable
branches.We're looking at...
Oooooo, I like
edge
even better thandevel
. I think I'll have to discuss this with my team.The beautiful upshot of renaming
master
is that we can reopen some important conversations about repository workflow. We've all taken themaster
branch for granted, but we all use it differently. Perhaps its time we change that, and perhaps this will help.Yeah exactly. Now, we can rethink our strategies regarding that.
I really like these names. Thank you for sharing Ben!
Oh yes. These names sound good too.
Hey, nice post!
I'd like to add a bit though
git branch -m master main
to rename, followed by a push also seems to work fine.
Thank you so much. I'll try this one-liner. This is more concise.
Careful though... I did this on one repo where, as it turned out the master wasn't up to date with origin. So, from that moment on, I relied on branching from
origin/master
instead of my localmaster
after performing a fetch.I haven't tried it yet but thank you for pointing this out.
Surprised you didn’t suggest “trunk”.
Oh yes. It sounds great.
...and goes back a long, long way.
Well, I'd prefer to name them as
main
(master),dev
,test
, andfeature
. I think to name them like that because it is more clear for the team. Even it's for the other people, you just look at the branch name and you get its purpose.This is one of the most stupid things I've heard of in a loooong time.
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more