3
votes

Git comment utiliser `set-url` du référentiel distant

J'ai besoin de changer l'URL d'un référentiel distant, alors je regardais la documentation sur https://git-scm.com/docs/git-remote bu quand je fais:

origin  git@github.com:oldusername/oldrepo.git (fetch)
origin  git@github.com:gitusername/repository.git (push)

Je reçois le message usage: git remote set-url [ --push] []

Je ne comprends pas vraiment, dois-je taper:

git remote set-url --push origin git@github.com:gitusername/repository.git

ou que signifie ? et dois-je inclure l'ancienne URL?

MISE À JOUR

Donc, quand je tape:

git remote set-url --push gitusername git@github.com:gitusername/repository.git

Et après ce type git remote -v

j'obtiens ceci:

git remote set-url git@github.com:gitusername/repository.git

Comment puis-je changer la récupération? p>

git

3 commentaires

Il doit s'agir du nom du référentiel, c'est-à-dire d'origine / maître


N'utilisez pas du tout --push . Si vous avez déjà utilisé --push , vous avez maintenant défini des URL d'extraction et de transmission distinctes. Vous pouvez supprimer l'URL push séparée ( git remote set-url origin --delete --push ). Utilisez git remote set-url sans --push pour définir l'URL de récupération; si l'URL push n'est pas définie, elle est automatiquement la même que l'URL de récupération.


@torek Merci beaucoup! Exactement ce dont j'avais besoin :-)


4 Réponses :


1
votes

C'est le nom de la télécommande, par exemple. origin

Les noms sont également visibles lors de la liste des télécommandes, vous pouvez donc vérifier votre nom actuel (probablement aussi origin)

git remote -v
origin  https://github.com/schacon/ticgit (fetch)
origin  https://github.com/schacon/ticgit (push)


0 commentaires

5
votes

Vous devez définir l'URL d'une télécommande existante:

git remote set-url --delete --push origin git@github.com:gitusername/repository.git

L'utilisation de la commande ci-dessus mettra à jour les URL d'extraction et de transmission.

Utilisation de - -push ne mettra à jour que l'URL push:

git remote set-url origin git@github.com:thirdusername/thirdrepository.git
git remote -v 

origin  git@github.com:thirdusername/thirdrepository.git (fetch)
origin  git@github.com:gitusername/repository.git (push)

Après ce point, il y a maintenant une entrée séparée dans .git / config :

[remote "origin"]
    url = git@github.com:oldusername/oldrepo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    pushurl = git@github.com:gitusername/repository.git

Maintenant, comme il y a des entrées séparées, utiliser set-url sans --push ne mettra à jour que l'exploration , au lieu des deux:

git remote set-url --push origin git@github.com:gitusername/repository.git
git remote -v

origin  git@github.com:oldusername/oldrepo.git (fetch)
origin  git@github.com:gitusername/repository.git (push)

Si vous souhaitez revenir à l'état d'origine, vous pouvez soit supprimer l'entrée pushurl de . git / config , ou utilisez set-url --delete --push :

git remote set-url origin git@github.com:gitusername/repository.git

Après cela, appelez set -url sans --push devrait revenir à la modification des URL de transmission et de récupération.


0 commentaires

0
votes

Le nom fait référence au nom abrégé d'un référentiel distant. Par défaut, il est généralement appelé «origine». Donc dans votre cas, la commande serait

git remote set-url origin git@github.com:gitusername/repository.git

L'option facultative --push définira une URL push au lieu de l'URL de récupération.


1 commentaires

Ah ok, mais comment vérifier le (chercher)?



0
votes

Cette commande est utilisée pour ajouter une nouvelle télécommande:

git push -u origin master

Cette commande est utilisée pour changer l'URL d'un dépôt distant existant:

git remote set-url origin git@github.com:User/UserRepo.git

Cette commande utilisée va pousser votre code vers la branche maître du référentiel distant défini avec l'origine et -u vous permet de pointer votre branche locale actuelle vers la branche maître distante:

git remote add origin git@github.com:User/UserRepo.git


0 commentaires