it-swarm.com.de

Wie kann ich den git ssh-Benutzer für einen Remote-Push vorübergehend ändern?

Ist es möglich, den ssh-Benutzer für einen "git Push remote master" vorübergehend zu ändern, ohne dass er sich mit .git/config oder "git remote" beschäftigt oder die gesamte Remote-URL verwendet? 

[[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
27
Andor

Haben Sie versucht, die gesamte Remote-URL zu verwenden? 

git Push ssh://<temp_user>@<Host>/<repo_path> <local_branch>:<remote_branch>

und Sie werden aufgefordert, das Passwort anzugeben

36
HiB

Nachdem Sie das Commit abgeschlossen haben, können Sie die folgende Syntax verwenden:

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

Sie werden nach Ihrem github-Passwort gefragt, um den Push zu verarbeiten.

Wenn Ihr github-Benutzername beispielsweise "foobar" ist, lautet die Repository-Klon-URL " https://github.com/bar/ish.git " und die lokalen und fernen Zweigstellen heißen "nonce" kann folgendes verwenden:

git Push https://[email protected]/bar/ish.git nonce:nonce
17
Jesuisme

Ich benutze

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

Sie werden aufgefordert, den Benutzernamen und das Kennwort einzugeben

8
0oneo

Die bei git remote registrierte ssh-Adresse enthält wahrscheinlich bereits den Benutzernamen. Sie müssen also eine vollständige ssh-URL wie die folgende verwenden:

[email protected]:arepo

Das funktioniert nicht, weil ssh die öffentlichen/privaten Standardschlüssel verwendet (die derzeit vom ersten Benutzer zur Authentifizierung verwendet werden).

Sie können eine neue Fernbedienung in Ihrer lokalen Konfiguration registrieren:

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

Sie müssen über eine $HOME/.ssh/config-Datei verfügen, um den ssh-Eintrag 'otheruser' zu definieren, da ssh wissen muss, welchen öffentlichen/privaten Schlüssel es verwenden muss: Es kann nicht der Standardschlüssel sein ($HOME/.ssh/id_rsa und $HOME/.ssh/id_rsa.pub).

Siehe zum Beispiel " Hinzufügen eines Implementierungsschlüssels für 2 Repo mit 1 Benutzer auf github "

Host otheruser
HostName remote
User otheruser
IdentityFile ~/.ssh/otheruser

Das setzt voraus, dass Sie die öffentlichen/privaten Schlüssel für andere Benutzer wie folgt gespeichert haben:

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

Jetzt können Sie diese neue Fernbedienung für Push verwenden:

git Push originOtheruser master
5
VonC

Für Windows-Benutzer: Anweisungen befolgen:

Systemsteuerung >> Benutzerkonto >> Credential Manager >> Windows Credential >> Generic Credential

Sie können die Anmeldeinformationen für git ändern:

klicken Sie auf Ändern >> Geben Sie den Benutzernamen und das Kennwort ein

Oder Sie können git-Anmeldeinformationen entfernen ..__ Wenn Sie das nächste Mal Push-Repo verwenden, werden Sie nach Anmeldeinformationen gefragt.

0
Kartik Ranpise