2013-03-21 6 views
25

ssh kullanıcısını "git push remote master" için geçici olarak, .git/config veya "git remote" ile ya da tüm uzak url'yi kullanmadan değiştirmek mümkün müdür? ssh kullanacak çünkü çalışmazUzak bir itme için git ssh kullanıcısını geçici olarak nasıl değiştirebilirim?

[email protected]:arepo 

: Eğer gibi eksiksiz bir SSH url kullanmak gerekir bu yüzden

[[email protected] gitrepo]# git push [email protected] master # this does not work, but how great it would be 
[[email protected] gitrepo]# USER=otheruser git push remote master # still asks password for root 

cevap

31

Eğer bütün kumandayı kullanarak denediniz URL?

git push ssh://<temp_user>@<host>/<repo_path> <local_branch>:<remote_branch> 

ve taahhüt yaptıktan sonra size şifre

+0

için kullanılacak sözdizimini tartışıyor, denedim. Genellikle "git remote -va" dan kopyala yapıştır. Çalışıyor, ancak çekimlerde ek bir uzaktan izleme dalı yaratıyor. – Andor

+0

Genellikle işlemleri zorlamak için bir pubkey kullanırım. Farklı bir kullanıcı belirttiğim halde, yine de izin reddedildi (publickey). ölümcül: Uzaktaki depodan okunamadı. 'Farklı hesap için parolamı girebilmem için nasıl itmeli? – nipponese

5

git ile kayıtlı ssh adresi uzak olasılıkla zaten, kullanıcı adını içerir varsayılan ortak/özel anahtarlar (şu anda kimlik doğrulaması için ilk kullanıcı tarafından kullanılır).

Eğer yerel config yeni bir uzaktan kayıt olabilirsiniz:

# use the current ssh address registered for origin, changing just the user 
# but you need a config file 
git remote add originOtheruser otheruser:arepo 

Sen SSH girişi 'otheruser' tanımlamak için, bir $HOME/.ssh/config dosya olması gerekir, ssh bilmelidir çünkü neyi kamu/özel anahtar kullanması gereken: varsayılan olanlar ($HOME/.ssh/id_rsa ve $HOME/.ssh/id_rsa.pub)

örneğin bkz olamaz "how to add deploy key for 2 repo with 1 user on github"

siz otheruser için kamu/özel anahtarlar sakladığınız sanıyor 210

: Artık

$HOME/.ssh/otheruser 
$HOME/.ssh/otheruser.pub 

, yeni uzaktan itmek için kullanabilirsiniz:

git push originOtheruser master 
+1

Ben Stackoverflow ve Google üzerinden aradık bu soruyu sormadan önce giriş kullanıcı adı ve şifre isteyecektir

git push https://github.com/${userName}/${repoName} 

kullanın. Hızlı/anında/geçici/geçici bir çözüme ihtiyacım var, kalıcı değil. Kullanıcı adı, kasıtlı olarak uzak URL'ye dahil edilmez ve bu repo sunucusunda isteğe bağlı anahtar kimlik doğrulaması isteğe bağlıdır. Bu gerçekten istediğim şey değil. – Andor

+0

@ user77376 "Ortak anahtar kimlik doğrulaması bu repo sunucusunda isteğe bağlıdır"? O zaman ssh bağlantısı değil. Başka bir kullanıcı belirtmeniz gerekiyorsa, o zaman '$ HOME/.ssh/config' demektir. İstediğiniz bu olmayabilir, ancak ssh'in farklı bir kullanıcıyla kullanılması gereken şey: kamu/özel anahtarı belirtmenin bir yolu. Şu anda bir id_rsa (.pub) 'bir yerde, o zaman biz şşşt hakkında konuşmuyoruz (ya da bildiğim ssh değil). – VonC

+1

Düz ssh, ancak şifreyle de kimlik doğrulaması yapılabilir. Sıradan bir ssh bağlantısı için, önce bir kullanıcı adı ve bir parola/ortak anahtar/kerberos bileti veya sunucunun kabul ettiği herhangi bir kimlik doğrulaması belirtmelisiniz. – Andor

17

sağlamak istenir, aşağıdaki sözdizimini kullanabilirsiniz:

git push https://<username>@github.com/<github repository> <local branch name>:<remote branch name> 

Sen github istenecektir itme işlemini yapmak için şifre.

git push https://[email protected]/bar/ish.git nonce:nonce 
+2

Github not: İki faktörlü kimlik doğrulama (2FA) etkinleştirilirse, parolanız sorulduğunda parolanız yerine kişisel erişim belirteci girmeniz gerekir (Bkz: https://help.github.com/articles/providing- sizin-2fa-kimlik doğrulama-kodu/# ile-komut satırı) – qff

8

: Aşağıdaki kullanabilirsiniz, sizin github kullanıcı adı "foobar" dir Örneğin

, depo klon url "https://github.com/bar/ish.git" olduğunu ve yerel ve uzak dalları "Nonce" olarak adlandırılır Ben O

+2

Bu, Github'a özgüdür, oysa asıl soru Git'le daha genel olarak ilgilidir. –

+0

Github not: İki faktörlü kimlik doğrulama (2FA) etkinleştirilirse, parolanız sorulduğunda parolanız yerine kişisel erişim belirteci girmeniz gerekir (Bkz: https://help.github.com/articles/providing- your-2FA kimlik doğrulama kodu/# aracılığıyla-komut satırı) – qff

İlgili konular