I am looking into using git on a massive scale. I was hoping to increase adoption and make things easier by calling the master branch trunk. This can and will give SVN users some feelings of comfort. I know I can create a branch called trunk but that seems to deviate from the git norms and might cause some users to get confused. I know that I can also create and delete tags to my heart's content but when I checkout those tags it tells me it is a non local branch which is just fine with me but probably not what I want to be doing. I am a total git newb but a seasoned professional at release and build systems. What I want to do is to be able to call master trunk. I have seen the ability to alias commands does this apply for the names of versioned objects as well? I know git-svn exists and other tools but the overhead of layered repository systems frightens me.
There is nothing special about the name "master" in Git, it's just called that by convention (and by default). You can certainly call it "trunk" if you like:
git branch -m master trunk
This is very much like Subversion, where the name "trunk" is only called that by convention too. You could have called the main branch "master" in Subversion.
You can rename the master branch trunk as Greg has suggested, or you can also create a trunk that is a symbolic reference to the master branch so that both git and svn users have the 'main' branch that they are used to.
git symbolic-ref refs/heads/trunk refs/heads/master
Note that trunk isn't a first class citizen. If you checkout trunk
and perform a git status
you will actually be on master
, however you can use the trunk
command in all places that you use the branch name (log, merge, etc.).