web-dev-qa-db-fra.com

Git clone over ssh, Push over https

J'ai un ensemble de dépôts Git privés dans BitBucket. Je veux les cloner via SSH afin que le clonage puisse être automatisé sans demander de mot de passe. Cependant, je veux pousser sur HTTPS parce que je veux pousser avec un nom d'utilisateur différent.

Le PC est un PC commun, et je veux distinguer qui pousse les changements mais je me fiche de qui les clone.

Y a-t-il un moyen de faire ça? Merci!

13
Javi V

Vous pouvez utiliser deux télécommandes différentes ou plus pour cela. Par défaut, lorsque vous clonez un référentiel distant, le Origin distant est automatiquement créé pour vous. Mais vous pouvez spécifier un référentiel différent sur la ligne de commande git à chaque fois littéralement comme par exemple.

git Push https://git-server/myrepo.git branch

mais il est beaucoup plus pratique de les ajouter en tant que télécommandes nommées si vous prévoyez de les utiliser plusieurs fois. Voici un exemple de transcription plus complet:

git clone ssh://user1@git-server/myrepo.git
cd myrepo
git remote add Push https://git-server/myrepo.git

Ensuite vous pouvez git fetch Origin ou git pull pour mettre à jour la caisse locale, et vous pouvez pousser avec par exemple git Push push branch (Notez que le deuxième Push voici le nom de la télécommande). De cette façon, vous pouvez également spécifier une télécommande ssh différente avec un utilisateur différent:

git remote add Push2 ssh://user2@git-server/myrepo.git

Ensuite, vous pouvez faire git Push push2 branch afin de pousser via ssh en tant qu'utilisateur différent.

21
Michael Adam