web-dev-qa-db-fra.com

Comment changer l'URI (URL) d'un référentiel Git distant?

J'ai un repo (Origin) sur une clé USB que j'ai cloné sur mon disque dur (local). J'ai déplacé "Origin" vers un NAS et j'ai testé avec succès le clonage à partir d'ici.

Je voudrais savoir si je peux changer l'URI de "Origin" dans les paramètres de "local" afin qu'il soit maintenant extrait du NAS et non de la clé USB.

Pour l'instant, je peux voir deux solutions:

  • Poussez tout vers le port USB-orign et copiez-le dans le NAS de nouveau (implique beaucoup de travail en raison de nouveaux commits à nas-Origin);

  • ajoutez une nouvelle télécommande à "local" et supprimez l'ancienne (je crains de rompre mon historique).

3029
e-satis

Vous pouvez

git remote set-url Origin new.git.url/here

(voir git help remote) ou vous pouvez simplement éditer .git/config et changer les URL ici. Vous ne risquez pas de perdre votre historique si vous ne faites pas quelque chose de très bête (et si vous êtes inquiet, faites une copie de votre rapport, car celui-ci est votre historique.)

4965
hobbs
git remote -v
# View existing remotes
# Origin  https://github.com/user/repo.git (fetch)
# Origin  https://github.com/user/repo.git (Push)

git remote set-url Origin https://github.com/user/repo2.git
# Change the 'Origin' remote's URL

git remote -v
# Verify new remote URL
# Origin  https://github.com/user/repo2.git (fetch)
# Origin  https://github.com/user/repo2.git (Push)

Changer l'URL d'une télécommande

662
Utensil

Changer d'hôte pour un serveur Git Origin

à partir de: http://pseudofish.com/blog/2010/06/28/change-Host-for-a-git-Origin-server/

Espérons que ce n’est pas quelque chose que vous devez faire. Le serveur que j'ai utilisé pour collaborer sur quelques projets git a l'expiration du nom de domaine. Cela impliquait de trouver un moyen de migrer les référentiels locaux pour les synchroniser.

Mise à jour: Merci à @mawolf pour avoir souligné le fait qu'il existe un moyen simple d'utiliser les versions récentes de git (après février 2010):

git remote set-url Origin ssh://newhost.com/usr/local/gitroot/myproject.git

Voir la page de manuel pour plus de détails.

Si vous utilisez une version plus ancienne, essayez ceci:

En guise de mise en garde, cela ne fonctionne que s'il s'agit du même serveur, avec des noms différents.

En supposant que le nouveau nom d’hôte soit newhost.com et que l’ancien était oldhost.com, la modification est relativement simple.

Editez le fichier .git/config dans votre répertoire de travail. Vous devriez voir quelque chose comme:

[remote "Origin"]
fetch = +refs/heads/*:refs/remotes/Origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git

Remplacez oldhost.com par newhost.com, enregistrez le fichier et vous avez terminé.

De mon test limité (git pull Origin; git Push Origin; gitx) tout semble en ordre. Et oui, je sais que c'est une mauvaise forme de déconner avec les internes de git.

82
yoda
git remote set-url Origin git://new.location

(vous pouvez également ouvrir .git/config, rechercher [remote "Origin"] et modifier la ligne url =.

Vous pouvez le vérifier en examinant les télécommandes:

git remote -v
# Origin  git://new.location (fetch)
# Origin  git://new.location (Push)

La prochaine fois que vous appuyez, vous devrez spécifier la nouvelle branche en amont, par exemple:

git Push -u Origin master

Voir aussi: GitHub: Changer l'URL d'une télécommande

39
Zaz

Changer d'URL distante

Terminal ouvert.

Première étape: - Changez le répertoire de travail actuel en votre projet local.

2ème étape: - Répertoriez vos télécommandes existantes afin d’obtenir le nom de la télécommande que vous souhaitez modifier.

git remote -v

Origin  https://github.com/USERNAME/REPOSITORY.git (fetch)

Origin  https://github.com/USERNAME/REPOSITORY.git (Push)

Changez l'URL de votre télécommande de HTTPS à SSH avec la commande git remote set-url.

3ème étape: - git remote set-url Origin [email protected]:USERNAME/REPOSITORY.git

4ème étape: - Maintenant Vérifiez que l'URL distante a changé.

git remote -v Vérifier la nouvelle URL distante

Origin  [email protected]:USERNAME/REPOSITORY.git (fetch)
Origin  [email protected]:USERNAME/REPOSITORY.git (Push)
21
VIKAS KOHLI
  1. remove Origine en utilisant la commande sur gitbash rm remote rm Origin  
  2. Et maintenant, ajoutez une nouvelle origine à l’aide de gitbash git remote add Origin (Copiez l’URL HTTP de votre référentiel de projet dans le compartiment binaire).
16
Sunil Chaudhary

git remote set-url {nom} {url}

ex) git remote set-url Origin https://github.com/myName/GitTest.git

15
bong jae choe

si vous cloné votre local sera automatiquement composé,

uRL distante où il est cloné.

vous pouvez le vérifier en utilisant git remote -v

si vous voulez y apporter du changement,

git remote set-url Origin https://github.io/my_repo.git

ici,

Origine - votre branche  

si vous voulez écraser branche existante, vous pouvez quand même l’utiliser.

git remote remove url
and 
git remote add Origin url

pour vous...

7

J'ai travaillé:

git remote set-url Origin <project>

Pour vérifier la connexion à distance git:

git remote -v

Maintenant, configurez le référentiel local sur git distant: 

git remote set-url Origin https://NewRepoLink.git

Maintenant, pour le rendre en amont ou Push, utilisez le code suivant:

git Push --set-upstream Origin master -f

5
Anupam Maurya

Si vous utilisez TortoiseGit, suivez les étapes ci-dessous:

  1. Allez dans votre dossier de paiement local et cliquez droit pour aller à TortoiseGit -> Settings
  2. Dans le volet de gauche, choisissez Git -> Remote
  3. Dans le volet de droite, choisissez Origin
  4. Modifiez maintenant la valeur de la zone de texte URL par votre nouveau référentiel distant.

Votre branche et tous vos commits locaux resteront intacts et vous pourrez continuer à travailler comme avant.

5
Vipul bhojwani

Dans Git Bash, entrez la commande:

git remote set-url Origin https://NewRepoLink.git

Entrez les informations d'identification

Terminé

5
devDeejay

Vous avez beaucoup de façons de le faire:

Console

git remote set-url Origin [Here new url] 

Assurez-vous simplement que vous l'avez ouvert dans un endroit où se trouve un référentiel.

Config

Il est placé dans .git/config (même dossier que le référentiel)

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "Origin"]
    url = [Here new url]  <------------------------------------
...

TortoiseGit

 Step 1 - open settings

 Step 2 - change url

Ensuite, modifiez simplement l'URL.

SourceTree

  1. Cliquez sur le bouton "Paramètres" de la barre d'outils pour ouvrir la fenêtre Paramètres du référentiel.

  2. Cliquez sur "Ajouter" pour ajouter un chemin d'accès au référentiel distant au référentiel. Une fenêtre "Détails à distance" s'ouvrira.

  3. Entrez un nom pour le chemin distant.

  4. Entrez l'URL/chemin du référentiel distant

  5. Entrez le nom d'utilisateur pour le service d'hébergement du référentiel distant.

  6. Cliquez sur 'OK' pour ajouter le chemin distant.

  7. De retour dans la fenêtre Paramètres du référentiel, cliquez sur 'OK'. Le nouveau chemin distant doit maintenant être ajouté sur le référentiel.

  8. Si vous devez modifier un chemin distant déjà ajouté, cliquez simplement sur le bouton "Modifier". Vous devriez être dirigé vers la fenêtre "Détails distants" où vous pouvez éditer les détails (URL/chemin/type d'hôte) du chemin distant.

  9. Pour supprimer un chemin de référentiel distant, cliquez sur le bouton "Supprimer".

 enter image description here

 enter image description here

réf. Soutien

2

 enter image description here

Dépannage : 

Vous pouvez rencontrer ces erreurs en essayant de changer de télécommande . Pas de télécommande '[nom]'

Cette erreur signifie que la télécommande que vous avez essayé de modifier n'existe pas:

git remote set-url sofake https://github.com/octocat/Spoon-Knife fatal: Pas de 'sofake' distant

Vérifiez que vous avez correctement saisi le nom de la télécommande.

Référence: https://help.github.com/articles/changing-a-remote-s-url/

0
Amitesh

Remplacez l'URI git distant par [email protected] plutôt que https://github.com

git remote set-url Origin [email protected]:<username>/<repo>.git

L'avantage est que vous pouvez utiliser git Push automatiquement lorsque vous utilisezssh-agent:

eval `ssh-agent` && expect ~/.ssh/agent && ssh-add -l
git add . && git commit -m "your commit" && git Push -u Origin master

Également lorsque vous utilisezattendezdans un fichier de script comme ci-dessous:

#!/usr/bin/expect -f
spawn git Push Origin
expect "Username for 'https://github.com':"
send "<username>\n"
expect "Password for 'https://[email protected]':"
send "<password>\n"
interact
0
Chetabahana