2015-01-28 14 views
8

Ho due rami 'master' e 'sviluppo', creo un nuovo ramo da master che 'hotfix-1' e poi unisco 'hotfix-1' di nuovo su master con ;Avviso Git: refname 'xxx' è ambiguo

git checkout master 
git merge --no-ff hotfix-1 

Creato un tag per questo punto;

git tag -a hotfix-1 -m "" 

e quindi sono tornato a sviluppare ramo da master e unire 'hotfix-1' con;

git checkout develop 
git merge --no-ff hotfix-1 

dopo la fusione 'hotfix-1' di sviluppare sto ottenendo "warning: refname 'hotfix-1' è ambiguo" messaggio e è la fusione con successo i miei cambiamenti di sviluppare troppo .. dovrei preoccuparsi di nulla?

Modifica

git show-ref --heads --tags 

d97bfc563749918799d4659c43f7bffd29cf4d60 refs/heads/develop 
594ea85c94f8321d372779ed3dbd5df07bdb059b refs/heads/master 
ffc897f8ab19510d5ff4c67969d0f0cb97d1c4f3 refs/tags/beta-1.0 
490a8c80ecec70fd2268aa0c2ad7a9beb6bf491c refs/tags/beta-1.1 
644adadb43744ad1d2e0f13fc37abb6906520f8f refs/tags/hotfix-1.0.1 
4c49e8d9ddc8d601ed794f307e1c29acfc84b31b refs/tags/release-1.0 
+1

Qual è l'output di 'git show-ref --heads --tags'? –

+0

@EnricoCampidoglio hey, grazie per il vostro interesse; modifico la mia domanda con l'output –

+0

Immagino di saltare un passaggio dopo l'unione del master creo un tag con "git tag -a hotfix-1 -m" "" –

risposta

11

Dalla tua domanda iniziale sembra che si dispone di un tag e un ramo di nome hotfix-1. Naturalmente, i loro nomi attuali sono refs/tags/hotfix-1 e refs/heads/hotfix-1 rispettivamente, ma Git consente di utilizzare la stenografia, che in questo caso è ambigua poiché Git consente di utilizzare qualsiasi git merge commettere. In effetti, quando ho testato questo scenario, Git ha unito il tag e non il ramo.

Quando si guarda l'output git show-ref --heads --tags non è chiaro, tuttavia, poiché esiste solo un tag denominato hotfix-1.0.1 e nessun ramo con lo stesso nome. Sembra che tu possa aver cambiato le cose in seguito.

+0

Oh grazie, dopo aver unito il ramo hotfix-1 per lo sviluppo stavo cancellando il ramo, questo è il motivo per cui l'output non mostra "hotfix-1". Bu ho il problema. Bene ho unito il tag al posto di un paio di volte fo quindi: /, c'è qualche problema al riguardo? –

+0

@Nandekore Bene, fonderai l'unione, non il ramo originale. Questo potrebbe comportare ulteriori commit che non vorresti. –

1

Ecco un esempio in cui la supposizione di Giuseppe su ciò che è accaduto ci è effettivamente accaduta.

git merge BranchyBranch_r2.1 warning: refname 'BranchyBranch_r2.1' is ambiguous.

effettivamente C'è sia un tag e un ramo con lo stesso nome (BranchyBranch_r2.1), e per di più, qualcuno ha cercato di alleviare il problema aliasing tag che duplicato il ramo.

git show-ref --heads --tags ac729d902578378557f9f20dbd415c5748a23230 refs/heads/BranchyBranch_r2.1 9f3d242e03837fd33f8355005e9edbee89367bef refs/heads/develop 5995987876e6a2315544bd774b546ed561f78a53 refs/heads/master df26c94be018268e2897807c0750b5c66150750b refs/tags/BranchyBranch_r2.1 df26c94be018268e2897807c0750b5c66150750b refs/tags/BranchyBranch_r2.1Tag

Se si fa riferimento al ramo con il suo nome completo, allora si può procedere.

git merge refs/heads/BranchyBranch_r2.1

Problemi correlati