git ajouter une branche distante


139

Je veux ajouter une télécommande et une branche de cette télécommande.

Je l'ai fait git remote add <newname> <url>, puis je l'ai fait git fetch --allmais git branch -ane montre aucune branche de la télécommande. Mon .git / config affiche la télécommande ajoutée.

Est-ce que quelqu'un peut m'aider s'il vous plait?


2
Que se passe-t-il quand vous git fetch remote branch:branch && git co branch?
Samy Dindane

Réponses:


280

Je ne sais pas si vous essayez de créer une branche distante à partir d'une branche locale ou vice versa, j'ai donc décrit les deux scénarios et fourni des informations sur la fusion des branches distantes et locales.

Création d'une télécommande appelée "github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Répertoriez toutes les succursales distantes:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Créez une nouvelle branche locale (test) à partir de la branche distante d'un github (pu):

git branch test github/pu
git checkout test

Fusionner les modifications de la branche distante de github (pu) avec la branche locale (test):

git fetch github
git checkout test
git merge github/pu

Mettez à jour la branche distante (pu) de github depuis une branche locale (test):

git push github test:pu

La création d'une nouvelle branche sur une branche distante utilise la même syntaxe que la mise à jour d'une branche distante. Par exemple, créez une nouvelle branche distante (bêta) sur github à partir de la branche locale (test):

git push github test:beta

Supprimer la branche distante (pu) de github:

git push github :pu

Existe-t-il un moyen de créer la branche locale sans spécifier le nom, de sorte qu'elle prenne automatiquement le même nom que la branche distante?
Dubslow

@Dubslow git checkout --track github/pu, voir ici
Hinrich

25

Vous pouvez vérifier si votre configuration à distance est correcte et si vous disposez des autorisations appropriées avec

git ls-remote origin

si vous avez appelé votre télécommande "origine". Si vous obtenez une erreur, vous n'avez probablement pas configuré correctement votre sécurité, comme le téléchargement de votre clé publique sur github par exemple. Si les choses sont correctement configurées, vous obtiendrez une liste des références distantes. Maintenant

git fetch origin

fonctionnera à l'exception de tout autre problème comme un câble réseau débranché.

Une fois que vous avez fait cela, vous pouvez obtenir n'importe quelle branche que vous souhaitez que la commande ci-dessus répertoriée avec

git checkout some-branch

cela créera une branche locale du même nom que la branche distante et la récupérera.


6

J'ai testé ce que @Samy Dindane a suggéré dans le commentaire sur l'OP.

Je crois que ça marche, essayez

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Voici un exemple de référentiel distant fictif nommé fooavec une branche nommée baroù je crée une branche locale de barsuivi de la télécommande:

git fetch foo bar:bar
git checkout bar

5

Voici le processus complet pour créer un dépôt local et pousser les modifications vers une nouvelle branche distante

  1. Création d'un référentiel local: -

    Initialement, l'utilisateur peut avoir créé le référentiel git local.

    $ git init : - Cela fera du dossier local un dépôt Git,

  2. Lier la branche distante : -

    Maintenant, le défi consiste à associer le référentiel git local à la branche principale distante .

    $ git remote add RepoName RepoURL

    utilisation: git remote add []

  3. Testez la télécommande

    $ git remote show ---> Afficher le nom de la télécommande

    $ git remote -v ---> Afficher les branches distantes

  4. Maintenant, appuyez sur la télécommande

    $git add . ----> Ajouter tous les fichiers et dossiers comme git mis en scène '

    $git commit -m "Your Commit Message" - - -> Valider le message

    $git push - - - -> Pousser les modifications vers l'amont


Ce ne sont que les instructions pour le cas général de l'utilisation de git. Je ne vois rien dans cette réponse spécifique à la question posée.
Hack-R

2

Si la branche distante existe déjà, vous pouvez (probablement) vous en sortir.

git checkout branch_name

et git sera automatiquement configuré pour suivre la branche distante avec le même nom à l'origine.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.