Wie git ich von einem Windows-Rechner über ssh klonen?
Lesezeit: 3 Minuten
aushämmern
ich kann ssh windowsmachine von Linux auf einen Windows-Rechner zugreifen, und von dort aus kann ich git init --bare foo.gitsagen mir Initialized empty Git repository in C:/Users/unhammer/foo.git/
aber wie klone ich das von der Unix-Seite?
$ git clone ssh://windowsmachine:foo.git
Cloning into 'foo'...
fatal: No path specified. See 'man git-pull' for valid url syntax
$ git clone ssh://windowsmachine:C:\\Users\\unhammer\\foo.git
Cloning into '\Users\unhammer\foo'...
fatal: No path specified. See 'man git-pull' for valid url syntax
$ git clone ssh://windowsmachine:/foo.git
Cloning into 'foo'...
fatal: ''/foo.git'' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
und ähnliche Nachrichten für /C:/Users/unhammer/foo.git und /C/Users/unhammer/foo.git und /Users/unhammer/foo.git.
Beachten Sie die doppelten einfachen Anführungszeichen:
fatal: ''/Users/unhammer/foo.git'' does not appear to be a git repository
Das passiert nicht, wenn ich es versuche git clone linuxmachine:/some/path/that/does/not/exist.git, dann verwendet git einfache einfache Anführungszeichen. (Vielleicht ist das das Problem, git-for-windows oder etwas, das zusätzliche Anführungszeichen anwendet?)
Dies hängt ein wenig vom verwendeten SSH-Server ab. Siehe stackoverflow.com/a/8050564/7976758. Versuchen git clone ssh://windowsmachine/Users/unhammer/foo.git.
– promov
18. Dezember 2018 um 18:24 Uhr
Es ist das in Windows 10 integrierte (Einstellung→Apps & Features→Optionale Features verwalten→Feature hinzufügen→OpenSSH-Server). Es gab ein bisschen ab Gefummel um es einzurichten, aber ich kann scp -r windowsmachine:/Users/unhammer.foo.gitwährend git clone ssh://windowsmachine/Users/unhammer/foo.git scheitert (''/Users/unhammer/foo.git'' does not appear to be a git repository).
– Aushämmern
19. Dezember 2018 um 8:18 Uhr
Tatsächlich passiert es, weil die Standard-Windows-Shell einfache Anführungszeichen als Literale interpretiert und Git immer einfache Anführungszeichen um seine Argumente an die Remote-Shell sendet
Möglicherweise müssen Sie OpenSSH auf dem Windows-Computer neu starten und/oder vorhandene SSH-Verbindungen vom Client beenden, bevor es wirksam wird. Jetzt können Sie ohne zusätzliche Option -u klonen:
(und wenn Sie zuvor Uploadpack/Receivepack angegeben haben, entfernen Sie sie aus .git/config)
Schön, hat bei mir funktioniert, musste aber Powershell als Administrator ausführen.
– joshkörperlich
2. März um 3:37
Dem Link von @phd zu https://stackoverflow.com/a/8050564/7976758 folgend, fand ich einen Verweis auf https://stackoverflow.com/a/2323826/69663 mit einer Problemumgehung für das Zitatproblem. Folgendes habe ich getan:
Öffnen Sie unter Windows Git Bash und in meinem Homedir:
Dies hängt ein wenig vom verwendeten SSH-Server ab. Siehe stackoverflow.com/a/8050564/7976758. Versuchen
git clone ssh://windowsmachine/Users/unhammer/foo.git
.– promov
18. Dezember 2018 um 18:24 Uhr
Es ist das in Windows 10 integrierte (Einstellung→Apps & Features→Optionale Features verwalten→Feature hinzufügen→OpenSSH-Server). Es gab ein bisschen ab Gefummel um es einzurichten, aber ich kann
scp -r windowsmachine:/Users/unhammer.foo.git
währendgit clone ssh://windowsmachine/Users/unhammer/foo.git
scheitert (''/Users/unhammer/foo.git'' does not appear to be a git repository
).– Aushämmern
19. Dezember 2018 um 8:18 Uhr
Tatsächlich passiert es, weil die Standard-Windows-Shell einfache Anführungszeichen als Literale interpretiert und Git immer einfache Anführungszeichen um seine Argumente an die Remote-Shell sendet
– iPherisch
15. Dezember 2019 um 9:25 Uhr