Klon git hanya bekerja dengan ssh: // git @ .. dan tidak dengan git @


11

Adakah ide mengapa repo GIT hanya akan berfungsi saat menggunakan ssh://git@server.com/repo.gitdan tidak juga saat menggunakan git@server.com/repo.git?

Ini adalah pengaturan server oleh orang lain jadi tidak tahu bagaimana pengaturannya tetapi pada BitBucket atau GitHub saya hanya dapat menggunakan git@server.com/repo.gitdan itu bekerja dan klon repo menggunakan protokol SSH. Adakah ide mengapa untuk server ini iy hanya berfungsi saat menggunakan ssh://git@server.com/repo.git?

Jadi saya perlu menambahkan ssh://di depan.


Apakah server menggunakan port SSH alternatif? Sepertissh://git@server.com:2222/
7ochem

Tidak. Ini 22. Seperti ssh://git@server.com/repo.gitbekerja sementara git@server.com/repo.gittidak. Saya tidak menambahkan :portdalam kasus apa pun. Ketika saya mencoba tanpa ssh://saya mengerti fatal: repository 'git@server.com/something/repo.git' does not exist. Dengan ssh://git@server.com/something/repo.gititu berhasil.
daniels

Masalah konfigurasi semacam (mungkin masalah firewall? Nama pengguna?) - Saya memiliki masalah serupa dengan pengaturan di institusi saya. Namun akses melalui https berfungsi - jadi solusinya adalah menggunakan aturan penulisan ulang dari utas ini: stackoverflow.com/questions/15589682/…
DetlevCM

Jawaban:


32

Anda menggunakan sintaks yang salah.

Ketika Anda menghapus scheme://awalan, git tidak lagi mengartikan alamat Anda dalam gaya URL, tetapi sebagai gaya rcp / scp. Tetapi untuk alamat gaya rcp / scp, path harus dipisahkan dari user @ host menggunakan titik dua: (menentukan port tidak didukung). Sebagai contoh:

git clone daniels@server.com:repo.git

git clone git@bitbucket.com:daniels/example.git

Tanpa titik dua, git hanya akan menginterpretasikan alamat sebagai jalur lokal.

(Anda dapat melihat lebih detail di git clone atau git fetch manual page.)


Hah, misteri terpecahkan. Kamu benar. Terima kasih.
daniels

Saya menggunakan server BitBucket (bekas Stash, yang Anda instal di server Anda, bukan versi cloud) dan hanya menyalin & menempelkan perintah GIT dari sana. Untuk beberapa alasan mereka tidak menambahkan yang hilang :.
daniels
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.