web-dev-qa-db-fra.com

Git: quelle est la télécommande configurée par défaut pour la branche?

J'ai un référentiel nu distant hub. Je travaille uniquement dans la branche master. La dernière phrase de ce message d'erreur ci-dessous me fait me demander: Comment puis-je savoir quel est le "télécommande configurée par défaut pour votre branche actuelle"? Et comment puis-je le définir?

[myserver]~/progs $ git remote -v
hub     ~/sitehub/progs.git/ (fetch)
hub     ~/sitehub/progs.git/ (Push)

[myserver]~/progs $ git branch -r
  hub/master

[myserver]~/progs $ cat .git/HEAD
ref: refs/heads/master

[myserver]~/progs $ git pull hub
You asked to pull from the remote 'hub', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
185
leonbloy

Suivre la branche distante

Vous pouvez spécifier le référentiel distant par défaut pour le transfert et l'extraction à l'aide de l'option de piste de git-branch. Pour ce faire, vous devez normalement spécifier l’option --track lors de la création de votre branche master locale, mais comme elle existe déjà, nous mettrons simplement à jour la configuration manuellement, comme ceci:

Editez votre .git/config

[branch "master"]
  remote = Origin
  merge = refs/heads/master

Maintenant, vous pouvez simplement git Push et git pull.

[ source ]

224
scragz

Vous pouvez le faire plus simplement en garantissant que votre _.gitconfig_ reste dans un état significatif:

Utilisation de la version 1.8.0 et supérieure de Git

_git Push -u hub master_ en poussant, ou:
_git branch -u hub/master_

OR

(Ceci définira la télécommande pour la branche actuellement extraite à hub/master)
_git branch --set-upstream-to hub/master_

OR

(Cela définira la télécommande pour la branche nommée _branch_name_ sur hub/master)
_git branch branch_name --set-upstream-to hub/master_

Si vous utilisez _v1.7.x_ ou antérieur

vous devez utiliser _--set-upstream_:
_git branch --set-upstream master hub/master_

258
urschrei

Par souci d’exhaustivité: les réponses précédentes expliquent comment définir la branche en amont, mais pas comment la visualiser.

Il y a quelques façons de le faire:

git branch -vv affiche ces informations pour toutes les branches. (formaté en bleu dans la plupart des terminaux)

cat .git/config le montre aussi.

Pour référence:

24
leonbloy