Juste une clarification (en utilisant la version 1.7.9.5 de git sur Ubuntu 12.04):
Git ajoutera / supprimera des télécommandes. Ce sont des instances distantes de git avec un serveur connecté.
git remote add myremote git://remoteurl
Vous pouvez ensuite récupérer ledit référentiel git comme suit:
git fetch myremote
Il semble que cela crée une branche nommée «myremote», mais la télécommande de la branche n'est pas définie automatiquement. Pour ce faire, vous devez procéder comme suit:
Tout d'abord, vérifiez que vous avez ce problème, c.-à-d.
git config -l | grep myremote
Vous devriez voir quelque chose comme:
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
Si vous voyez branch.myremote.remote=.
, alors vous devez continuer:
git config branch.myremote.remote myremote
git checkout myremote
git pull
Vous devriez maintenant être à jour avec le référentiel distant, et vos pulls / pushs devraient être liés à la télécommande appropriée. Vous pouvez changer de télécommande de cette manière, par branche . [Note 1]
Selon une documentation The Official Git Config , vous pouvez configurer une branche push par défaut (recherchez simplement remote.pushdefault sur cette page), mais gardez à l'esprit que cela n'affectera pas les référentiels / branches qui existent déjà, donc cela fonctionnera mais seulement pour les nouveaux référentiels / succursales. Vous devez vous rappeler que --global
cela définira les valeurs par défaut du référentiel utilisateur (~ / .gitconfig), les --system
valeurs par défaut du référentiel à l'échelle du système (/ etc / gitconfig), et aucun indicateur ne définira les options de configuration pour le référentiel actuel (./.gitconfig).
Il convient également de noter que l' option de configuration push.default sert à configurer le comportement de spécification de référence , et non le comportement à distance .
[1]: git branch --set-upstream myotherremote
fonctionnerait généralement ici, mais git se plaindra de ne pas définir une branche comme sa propre télécommande si elle git branch --set-upstream myremote
est utilisée. Je crois cependant que c'est un comportement incorrect.