Is Git’s “master” branch name more than just a nam

2020-02-06 06:12发布

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.

标签: git
3条回答
家丑人穷心不美
2楼-- · 2020-02-06 06:38

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

Create .git/refs/{heads,tags} and make .git/HEAD be a symlink to (the as yet non-existent) .git/refs/heads/master.

Its associated tutorial at the time mentioned:

One note: the special "master" head is the default branch, which is why the .git/HEAD file was created as a symlink to it even if it doesn't yet exist.
Basically, the HEAD link is supposed to always point to the branch you are working on right now, and you always start out expecting to work on the "master" branch.

However, this is only a convention, and you can name your branches anything you want, and don't have to ever even have a "master" branch.
A number of the git tools will assume that .git/HEAD is valid, though.

查看更多
看我几分像从前
3楼-- · 2020-02-06 06:45

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 trunk.

查看更多
看我几分像从前
4楼-- · 2020-02-06 06:46

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.

查看更多
登录 后发表回答