2010-05-14 25 views
25

Ho controllato i thread pertinenti ma non riesco ancora a capire cosa sta succedendo dietro le quinte.Git. Remote HEAD è ambiguo

Quando ho digitato git remote show origin, ho ottenuto:

* remote origin 
    Fetch URL: xxxx 
    Push URL: xxxx 
    HEAD branch (remote HEAD is ambiguous, may be one of the following): 
    development 
    master 
    Remote branches: 
    development tracked 
    master  tracked 
    Local branches configured for 'git pull': 
    development merges with remote development 
    master  merges with remote master 
    Local ref configured for 'git push': 
    master pushes to master (up to date) 

Ho anche controllato git show-ref, ed ho ottenuto:

3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/heads/development 
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/heads/master 
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/remotes/origin/development 
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/remotes/origin/master 

Ecco l'elenco di tutti i rami che ho eseguendo git branch -a:

development 
* master 
    remotes/origin/development 
    remotes/origin/master 

E questo è ciò che è in .git/config:

[core] 
    repositoryformatversion = 0 
    filemode = false 
    bare = false 
    logallrefupdates = true 
    ignorecase = true 
    hideDotFiles = dotGitOnly 
    autocrlf = false 
[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = xxxx 
    push = refs/heads/master:refs/heads/master 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 
[branch "development"] 
    remote = origin 
    merge = refs/heads/development 

Sembra che lo sviluppo remoto e il ramo master condividano lo stesso nodo. Come posso risolvere questo problema di ambiguità?

risposta

41

Non c'è niente di sbagliato nei repository remoti. git ti dice che "HEAD remoto è ambiguo" perché master e sviluppo hanno entrambi lo stesso hash SHA1. Se hai appena dirottato lo sviluppo dal master, è così che dovrebbe essere.

Provare a impegnare qualcosa da padroneggiare o sviluppare e spingerlo all'origine; quel messaggio "ambiguo" sparirà, e qualsiasi ramo appena impegnato diventerà il ramo HEAD remoto.