Delete git master branch on a private server (not GitHub)

I have a project hosted on my own personal git server (it is not on GitHub). The master branch is a stale old cookie, and I don’t need it anymore.

A couple of months ago I created a 0.8/develop branch off of master and since then we’ve gone through 0.8/master, 0.9/develop, 0.9/master and we’re currently on 1.0/develop. I’d like to get rid of the master branch, mainly because it doesn’t match the naming convention that we’ve established. It’s just a matter of housekeeping.

I found several related questions on SO, as well as a blog post, but they all seem to be specific to use of GitHub, and not my own private server:

  • I can't delete a remote master branch on git
  • http://matthew-brett.github.io/pydagogue/gh_delete_master.html

These both specifically say something to the effect of:

You need to go to the main GitHub page for your forked repository, and
click on the ‘Settings’ button.

Of course, this is not an option as I’m not using GitHub. I’m guessing that I can edit the contents of the config file in my bare repo to achieve the same results. Is that correct? The config file currently looks like this:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = true
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = false
        sharedRepository = group
[remote "origin"]
        url = file:///Library/WebServer/Documents/loupe
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

I have two questions:

  1. Should I set my default repo to my current working branch (1.0/develop), or the oldest branch that’s left (0.8/develop)?
  2. What modifications do I need to make to the config file to set the default repo?

  • Failed to run repack in git gc
  • How to delete “remote” branch that still shows locally?
  • How to make existing branch an orphan in git
  • Check if git branch exists in bash: weird interpolation behavior
  • git remote branch deleted but still appears in 'branch -a'
  • Removed remote. But remote branch still shows
  • Git repository created without a master branch
  • Is there one git command to create a branch, switch to it, and link it to it's remote counterpart?
  • One Solution collect form web for “Delete git master branch on a private server (not GitHub)”

    First decide which branch should be the default branch when the repository is cloned. I assume new_master for this example.

    On one of the clients create the new_master branch on the remote repository, you may use anything for master instead, e.g. a commit or another branch name, or skip this step if you already have a suitable branch on the remote.

    git push origin master:new_master
    

    The next step can’t be done from remote, so execute the command in your remote repository (e.g. using SSH):

    cd /path/to/my_git_repo
    git symbolic-ref HEAD refs/heads/new_master
    

    Alternatively, change the content of the HEAD file directly.

    Back on the client:

    git fetch
    git remote show origin
    

    You should see that the HEAD points to new_master instead of master (or that HEAD is ambiguous if you set new_master to be master). Now we can remove the old master:

    git push origin :master
    

    Git shouldn’t complain anymore about the deletion. Finally, set the local refs/remotes/origin/HEAD:

    git remote set-head origin -a
    
    Git Baby is a git and github fan, let's start git clone.