Meglio essere spiegato con un esempio: sono sul ramo 0.58 del repository e questo è il modo in cui tiro:
git pull origin 0.58
Quando chiamo semplicemente "git pull", ottengo:
ip238:openlierox az$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.0.58.merge' in
your configuration file does not tell me either. Please
name which branch you want to merge on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details on the refspec.
If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:
branch.0.58.remote = <nickname>
branch.0.58.merge = <remote-ref>
remote.<nickname>.url = <url>
remote.<nickname>.fetch = <refspec>
See git-config(1) for details.
Sembra che probabilmente ho dimenticato qualche opzione (--track?) Quando ho controllato quel ramo. Ad ogni modo, ora l'ho impostato:
git config branch.0.58.merge 0.58
git config branch.0.58.remote origin
E questo sembra funzionare. Quindi, solo per interesse, ho dato un'occhiata a qualche altro ramo su queste impostazioni:
ip238:openlierox az$ git config branch.0.57.merge
refs/heads/0.57
ip238:openlierox az$ git config branch.0.57.remote
origin
Mi chiedevo ora, c'è una differenza tra "0.58" o devo specificare "refs / heads / 0.58"?
Qual è esattamente la differenza?
heads
con una "s".