2015-08-10 14 views
31

Quando si tenta di spingere via Albero Fonte, ottengo il seguente errore:"Aggiornamenti sono state respinte perché la variabile esiste già" quando si tenta di spingere in SourceTree

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master 
Pushing to https://[email protected]/repo.git 
To https://[email protected]/repo.git 
= [up to date]  master -> master 
... 
! [rejected]  example_tag -> example_tag (already exists) 
updating local tracking ref 'refs/remotes/origin/master' 
error: failed to push some refs to 'https://[email protected]/repo.git' 
hint: Updates were rejected because the tag already exists in the remote. 
Completed with errors, see above 

non ho fatto alcuna modifica a questo tag per quanto ne so. Come posso risolvere questo?

risposta

66

Se non sono state apportate modifiche locali al tag che si desidera mantenere, allora si può rimuovere le tag che è stato respinto perché esiste già (example_tag in questo caso):

  1. Fai clic con il pulsante destro del mouse sul tag e scegli di eliminarlo (assicurati di deseleziona il Rimuovi tag da tutti i telecomandi casella di controllo).
  2. Scegliere l'opzione Fetch (recuperare e archiviare tutti i tag in locale non è necessario non).
  3. Ora dovresti avere quel tag che è stato appena cancellato e tentare di Push non mostrerà più quel messaggio di errore.

Il motivo di questo è comune in SourceTree è perché l'opzione di tutti i tag push è impostato su per impostazione predefinita. (Un altro modo per nascondere questo errore è deselezionare quell'opzione.)

+0

salvagente. grazie per questo. –

+0

"Recupera e archivia tutti i tag localmente non deve essere abilitato" è ciò che ha fatto per me, controllando che il problema si ripetesse. – Tom

44

Dovresti anche essere in grado di risolvere questo in git bash (fai clic sul pulsante "Terminale" nell'interfaccia utente dell'albero di origine). Tipo:

git pull --tags 
0

Sì, in effetti, tirare i tag prima prima di push --tags. Risolto il mio problema

Problemi correlati