All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Torsten Bögershausen" <tboegi@web.de>
To: Carlos Pereira <jose.carlos.pereira@ist.utl.pt>, git@vger.kernel.org
Subject: Re: howto to run git without a master branch
Date: Sun, 09 Mar 2014 08:46:49 +0100	[thread overview]
Message-ID: <531C1C69.6080809@web.de> (raw)
In-Reply-To: <531B8D91.6020800@ist.utl.pt>

On 2014-03-08 22.37, Carlos Pereira wrote:
> Hi,
> git newbie here.
> 
> I would like to work with two main branches: master-g and master-x, instead of the usual master, and apparently git does not like this.
> 
> After creating a local repository with these two branches, and a server repository with git init --bare, and pushing the two branches:
> 
> git remote add origin foo@bar:~/path/test.git
> git push origin master-g
> git push origin master-x
> 
> everything seems fine, but cloning:
> git clone foo@bar:~/path/test.git
> terminates with a warning: remote HEAD refers to nonexistent ref, unable to checkout.
This is because Git is trying to be nice:
When you clone, it tries to checkout a branch for you.

What happens when you only have 1 branch, lets say master-x?
If I clone the bare repo here, with only 1 branch, this branch
is automatically checked out (tested on 1.8.5.2)

What happens when you have 2 branches on the server?
Git really can not make a decision which one is the right one to check out for
you, so if you have 2 branched like "master" and "develop", it checks out the
"master" branch for you.

But if you have "master-x" and "master-g" then Git has no clue, which one could
be you favorite one (and neither have I)

What does "git branch" say?
(I think nothing)
What does "git branch -r" say?
(I think "origin/master-g" and "origin/master-x")
  
> 
> On the original local repository, I have:
>>cat HEAD
> ref: refs/heads/master-x
> 
> But on the server repository or the clone repository, HEAD points to master branch, that does not exist:
>>cat HEAD
> ref: refs/heads/master
> 
> Replacing in the HEAD file, master by master-g (on the server before cloning, or on the clone after cloning) seems to solve the problem.
> 
> Shall I worry about this? does my fix (editing directly HEAD on the server) fixes really the problem? 

No

>what would be the correct procedure to avoid this?
(Don't worry if there is a warning, when Git tries to be nice)
(Or feel free to send a patch to this list which improves the user experience)

> 
> Thank you!
> Carlos Pereira,

  reply	other threads:[~2014-03-09  7:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-08 21:37 howto to run git without a master branch Carlos Pereira
2014-03-09  7:46 ` Torsten Bögershausen [this message]
2014-03-09 19:54   ` Carlos Pereira
2014-03-09 20:00     ` Kevin
2014-03-09 22:16     ` Ilya Bobyr
2014-03-09 23:58       ` Carlos Pereira
2014-03-10  9:30       ` Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=531C1C69.6080809@web.de \
    --to=tboegi@web.de \
    --cc=git@vger.kernel.org \
    --cc=jose.carlos.pereira@ist.utl.pt \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.