Is Git’s “master” branch name more than just a name?
I am new to Git and I wonder if Git’s “master” branch is anything more than a name?
I would not have thought so, until I saw people taking efforts to merge back not to any branch they feel their main branch but to the one named “master”.
Does it have any special functionality? Or is it just as good as any other branch?
I did of course look at documentation, but the presence of the “master” branch is always treated as a given.
3 Solutions collect form web for “Is Git’s “master” branch name more than just a name?”
It’s the default branch name for a fresh repository and therefore, while not technically special, has a special status in most cases.
People often use it as the “stable” branch.
That name references the
HEAD to the “default branch”.
Note that after a
git init, even that default HEAD doesn’t exist: you need to make at least one commit: see “Why do I need to explicitly push a new branch?”.
You can see ‘
master‘ used in the very few commits of Git itself in commit cad88fd (Git 0.99, May 2005)
git-init-db: set up the full default environment
.git/HEADbe a symlink to (the as yet non-existent)
Its associated tutorial at the time mentioned:
One note: the special “
master” head is the default branch, which is why the
.git/HEADfile was created as a symlink to it even if it doesn’t yet exist.
HEADlink is supposed to always point to the branch you are working on right now, and you always start out expecting to work on the “
However, this is only a convention, and you can name your branches anything you want, and don’t have to ever even have a “
A number of the git tools will assume that
.git/HEADis valid, though.
No, technically it’s just a name.
It is however the customary name for the central branch to which features ready for release are merged and everybody works off, just like in subversion the main branch is customarily called