Creo una nuova filiale in Git:
git branch my_branch
Spingilo:
git push origin my_branch
Ora dì che qualcuno ha apportato alcune modifiche al server e voglio estrarre origin/my_branch
. Lo voglio:
git pull
Ma ottengo:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "my_branch"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
Ho imparato che posso farlo funzionare con:
git branch --set-upstream my_branch origin/my_branch
Ma perché devo farlo per ogni ramo che creo? Non è ovvio che se spingo my_branch
dentro origin/my_branch
, allora vorrei origin/my_branch
entrare my_branch
? Come posso rendere questo comportamento predefinito?
--set-upstream
opzione è obsoleta. Dovresti usare --track
o --set-upstream-to
invece.
--set-upstream
è deprecato, forse gli sviluppatori git dovrebbero rimuoverlo dal messaggio di aiuto che viene visualizzato quando si esegue git push
senza opzioni e non è impostato alcun upstream?
git branch --set-upstream
è deprecato. git push --set-upstream
non è.
branch.autosetupmerge
indica che la configurazione upstream per un nuovo ramo viene impostata automaticamente solo quando si crea un ramo da un ramo di tracciamento remoto (ad es.<remote-name>/<branch-name>
) (Vedere git-config (1) ). Probabilmente stai creando le tue filiali da filiali locali esistenti. Se si sta effettivamente ramificando direttamente dalla punta di un ramo remoto (nonostante si trovi su un ramo locale), è possibile utilizzaregit branch my_branch <remote-name>/<branch-name>
per impostare automaticamente la configurazione a monte.