Git
Français ▾ Topics ▾ Latest version ▾ git-remote last updated in 2.44.0

NOM

git-remote - Gère un ensemble de dépôts suivis

SYNOPSIS

git remote [-v | --verbose]
git remote add [-t <branche>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <nom> <url>
git remote renom <ancien> <nouveau>
git remote remove <nom>
git remote set-head <nom> (-a | --auto | -d | --delete | <branche>)
git remote set-branches [--add] <nom> <branche>…​
git remote get-url [--push] [--all] <nom>
git remote set-url [--push] <nom> <nouvelle-url> [<ancienne-url>]
git remote set-url --add [--push] <nom> <nouvelle-url>
git remote set-url --delete [--push] <nom> <url>
git remote [-v | --verbose] show [-n] <nom>…​
git remote prune [-n | --dry-run] <nom>…​
git remote [-v | --verbose] update [-p | --prune] [(<groupe> | <distant>)…​]

DESCRIPTION

Gère un ensemble de dépôts (« distants ») dont vous suivez les branches.

OPTIONS

-v
--verbose

Être un peu plus verbeux et montrer les urls distantes après les noms. NOTE : cette option doit être placée entre remote et la sous-commande.

COMMANDES

Sans argument, affiche la liste des distants existants. Quelques sous-commandes permettent d’appliquer des opérations sur les distants.

add

Ajouter un distant nommé <nom> pour le dépôt à <url>. La commande git fetch <nom> peut alors être utilisée pour créer et mettre à jour les branches de suivi à distance <nom>/<branche>.

Avec l’option -f, git fetch <nom> est lancé immédiatement après la mise en place des informations distantes.

Avec l’option --tags, git fetch <nom> importe chaque étiquette du dépôt distant.

Avec l’option --no-tags, git fetch <nom> n’importe pas les étiquettes du dépôt distant.

Par défaut, seules les étiquettes sur les branches récupérées sont importées (voir git-fetch[1]).

Avec l’option -t <branche>, au lieu du spécificateur par défaut de glob pour que le distant suive toutes les branches dans l’espace de noms refs/remotes/<nom>/, un spécificateur de référence de suivi uniquement pour <branche> est créé. Vous pouvez donner plus d’un -t <branche> pour suivre plusieurs branches sans saisir toutes les branches.

Avec l’option -m <master>, une réf symbolique refs/remotes/<nom>/HEAD est mise en place pour pointer sur la branche <master> du distant. Voir aussi la commande set-head.

Lorsqu’un miroir est créé avec --mirror=fetch, les refs ne seront pas stockées dans l’espace de noms refs/remotes/, mais tout ce qui se trouve dans refs/ sur le serveur distant sera directement reflété dans refs/ dans le dépôt local. Cette option n’a de sens que dans les dépôts nus, car une récupération écraserait tous les commit locaux.

Lorsqu’un miroir de poussé est créé avec --mirror=push, alors git push se comportera toujours comme si --mirror était passé.

rename

Renommer le distant nommé <ancien> en <nouveau>. Toutes les branches de suivi à distance et les paramètres de configuration du distant sont mis à jour.

Dans le cas où <ancien> et <nouveau> sont identiques, et que <ancien> est un fichier sous $GIT_DIR/remotes ou $GIT_DIR/branches, le distant est converti au format de fichier de configuration.

remove
rm

Supprimer le distant nommé <nom>. Toutes les branches de suivi à distance et tous les paramètres de configuration du distant sont supprimés.

set-head

Définir ou supprimet la branche par défaut (c’est-à-dire la cible de la référence symbolique refs/remotes/<nom>/HEAD) pour le distant nommé. Il n’est pas nécessaire de disposer d’une branche par défaut pour un distant, mais cela permet de spécifier le nom du distant à la place d’une branche spécifique. Par exemple, si la branche par défaut pour origin est définie à master, alors origin peut être spécifié là où vous spécifieriez normalement origin/master.

Avec -d ou --delete, la référence symbolique refs/remotes/<nom>/HEAD est supprimée.

Avec -a ou --auto, le distant est interrogé pour déterminer son HEAD, puis la référence symbolique refs/remotes/<nom>/HEAD est définie sur la même branche. Par exemple, si le distant HEAD est pointé sur next, "git remote set-head origin -a" définira la référence symbolique refs/remotes/origin/HEAD sur refs/remotes/origin/next. Cela ne fonctionnera que si refs/remotes/origin/next existe déjà ; sinon, il faut d’abord la récupérer.

Utiliser <branche> pour définir la référence symbolique refs/remotes/<nom>/HEAD explicitement. Par exemple, "git remote set-head origin master" définira la référence symbolique refs/remotes/origin/HEAD à refs/remotes/origin/master. Cela ne fonctionnera que si refs/remotes/origin/master existe déjà ; sinon, il faut d’abord le récupérer.

set-branches

Modifier la liste des branches suivies par le distant nommé. Cela peut être utilisé pour suivre un sous-ensemble des branches distantes disponibles après la configuration initiale d’un distant.

Les branches nommées seront interprétées comme si elles étaient spécifiées avec l’option -t sur la ligne de commande git remote add.

Avec --add, au lieu de remplacer la liste des branches actuellement suivies, ajouter à cette liste.

get-url

Récupèrer les URL pour un distant. Les configurations pour insteadOf et pushInsteadOf sont développées ici. Par défaut, seule la première URL est listée.

Avec --push, on interroge les URL de poussée plutôt que les URL de récupération.

Avec --all, toutes les URL du distant seront listées.

set-url

Modifier les URL pour le distant. Fixer la première URL pour le distant <nom> qui correspond à la regex <ancienne-url> (première URL si aucune <ancienne-url> n’est donnée) à <nouvelle-url>. Si <ancienne-url> ne correspond à aucune URL, une erreur se produit et rien n’est modifié.

Avec --push, les URL de poussée sont manipulées au lieu des URL de récupération.

Avec --add, au lieu de modifier les URL existantes, on ajoute une nouvelle URL.

Avec --delete, au lieu de changer les URL existantes, toutes les URL correspondant à la regex <url> sont supprimées pour le distant <nom>. Essayer de supprimer toutes les URL non poussée est une erreur.

Notez que l’URL de poussée et l’URL de récupération, même si elles peuvent être définies différemment, doivent toujours se référer au même endroit. Ce que vous avez poussé à l’URL de poussée doit être ce que vous verriez si vous alliez récupérer immédiatement à l’URL de récupération. Si vous essayez de récupérer depuis un endroit (par exemple votre site en amont) et de pousser à un autre (par exemple votre dépôt de publication), utilisez deux distants distincts.

show

Fournir quelques informations sur le dépôt <nom>.

Avec l’option -n, les branches distantes ne sont pas interrogées en premier avec git ls-remote <nom> ; les informations en cache sont utilisées à la place.

prune

Supprimer les références périmées associées à <nom>. Par défaut, les branches de suivi à distance périmées sous <nom> sont supprimées, mais en fonction de la configuration globale et de la configuration du distant, nous pourrions même élaguer les étiquettes locales qui n’y ont pas été poussées. Équivalent à git fetch --prune <nom>, sauf qu’aucune nouvelle référence ne sera récupérée.

Voir la section ÉLAGAGE de git-fetch[1] pour savoir ce qui sera élagué en fonction des différentes configurations.

Avec l’option --dry-run, signaler les branches qui seraient élaguées, mais ne pas réellement les élaguer.

update

Récupérer les mises à jour pour les distants ou les groupes de distants dans le dépôt comme défini par remotes.<groupe>. Si aucun groupe ni aucun distant n’est spécifié sur la ligne de commande, le paramètre de configuration remotes.default sera utilisé ; si remotes.default n’est pas défini, tous les distants dont le paramètre de configuration remote.<nom>.skipDefaultUpdate n’est pas défini à true seront mis à jour. (Voir git-config[1]).

Avec l’option --prune, lancer l’élagage contre tous les distants qui sont mises à jour.

DISCUSSION

Le paramètrage des informations de connexion est réalisé par les variables de configuration remote.origin.url et remote.origin.fetch. (Voir git-config[1]).

EXEMPLES

  • Ajouter un nouveau distant, le récupérer et en extraire une branche

    $ git remote
    origin
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
    $ git remote add staging git://git.kernel.org/.../gregkh/staging.git
    $ git remote
    origin
    staging
    $ git fetch staging
    ...
    From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
     * [new branch]      master     -> staging/master
     * [new branch]      staging-linus -> staging/staging-linus
     * [new branch]      staging-next -> staging/staging-next
    $ git branch -r
      origin/HEAD -> origin/master
      origin/master
      staging/master
      staging/staging-linus
      staging/staging-next
    $ git switch -c staging staging/master
    ...
  • Imiter git clone mais ne suivre que certaines branches sélectionnées

    $ mkdir project.git
    $ cd project.git
    $ git init
    $ git remote add -f -t master -m master origin git://example.com/git.git/
    $ git merge origin

GIT

Fait partie de la suite git[1]

TRADUCTION

Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .

scroll-to-top