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).
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.)
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 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.
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
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)
git remote set-url {nom} {url}
ex) git remote set-url Origin https://github.com/myName/GitTest.git
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...
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
Si vous utilisez TortoiseGit, suivez les étapes ci-dessous:
TortoiseGit -> Settings
Git -> Remote
Origin
URL
par votre nouveau référentiel distant.Votre branche et tous vos commits locaux resteront intacts et vous pourrez continuer à travailler comme avant.
Dans Git Bash, entrez la commande:
git remote set-url Origin https://NewRepoLink.git
Entrez les informations d'identification
Terminé
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
Ensuite, modifiez simplement l'URL.
SourceTree
Cliquez sur le bouton "Paramètres" de la barre d'outils pour ouvrir la fenêtre Paramètres du référentiel.
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.
Entrez un nom pour le chemin distant.
Entrez l'URL/chemin du référentiel distant
Entrez le nom d'utilisateur pour le service d'hébergement du référentiel distant.
Cliquez sur 'OK' pour ajouter le chemin distant.
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.
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.
Pour supprimer un chemin de référentiel distant, cliquez sur le bouton "Supprimer".
réf. Soutien
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/
Remplacez l'URI git distant par
[email protected]
plutôt quehttps://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