Rumah >pembangunan bahagian belakang >Golang >Import projek go dari repositori gilab persendirian menggunakan ssh: semakan tidak diketahui

Import projek go dari repositori gilab persendirian menggunakan ssh: semakan tidak diketahui

WBOY
WBOYke hadapan
2024-02-09 11:24:081076semak imbas

使用 ssh 从私有 gilab 存储库导入 go 项目:未知修订版

editor php Xigua akan memperkenalkan anda cara menggunakan SSH untuk mengimport semakan projek Go yang tidak diketahui daripada repositori GitLab peribadi. Menyambung ke GitLab melalui SSH membolehkan anda mengimport projek dengan mudah ke dalam persekitaran tempatan anda untuk pengubahsuaian dan pembangunan. Artikel ini akan menerangkan setiap langkah dalam proses import secara terperinci supaya pembaca dapat menyelesaikan operasi dengan mudah. Sebelum meneruskan, pastikan anda telah memasang Git dan Go dan anda telah mencipta repositori peribadi pada GitLab. Mari mulakan!

Kandungan soalan

Saya cuba mengimport projek go daripada repositori gitlab peribadi dan dihoskan sendiri menggunakan ssh. Apabila saya cuba melakukan ini, saya mendapat ralat berikut.

Output

kbacon@kbacons-macbook-pro bbz % go get -x gitlab.wtf.notworking/bbq/tools@latest
# get https://gitlab.wtf.notworking/bbq/tools?go-get=1
# get https://gitlab.wtf.notworking/bbq/tools?go-get=1: 200 ok (0.413s)
mkdir -p /users/kbacon/go/pkg/mod/cache/vcs # git3 https://gitlab.wtf.notworking/bbq/tools.git
# lock /users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179.lock# /users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179 for git3 https://gitlab.wtf.notworking/bbq/tools.git
cd /users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git tag -l
0.013s # cd /users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git tag -l
cd /users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git ls-remote -q origin
0.020s # cd /users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git ls-remote -q origin
# get https://gitlab.wtf.notworking/bbq/tools.git
# get https://gitlab.wtf.notworking/bbq/tools.git: 200 ok (0.186s)
go: gitlab.wtf.notworking/bbq/[email protected]: reading gitlab.wtf.notworking/bbq/tools/go.mod at revision v1.0.0: unknown revision v1.0.0

.gitconfig

[user]
        name = kbacon
        email = [email protected]
[url "[email protected]/"]
        insteadof = https://gitlab.wtf.notworking/

Pergi ke fail mod

module bbz
go 1.14
require (
    gitlab.wtf.notworking/bbq/tools v1.0.0
)

repositori gitlab

Repositori gitlab mempunyai projek dengan tag keluaran v1.0.0

Alamat yang pernah saya klon

ssh://[email protected]:2224/bbq/tools.git

fail konfigurasi ssh

host gitlab.wtf.notworking
    user [email protected]
    hostname gitlab.wtf.notworking
    identityfile ~/.ssh/company_gitlab # path to private key
    addkeystoagent yes

Gunakan .gitconfig ini: .gitconfig

[user]
        name = kbacon
        email = [email protected]
[url "[email protected]:2224/"]
        insteadof = https://gitlab.wtf.notworking/

Kemudian arahan go get akan meminta kata laluan saya, tetapi ia harus menggunakan ssh. Mengapa ia meminta saya untuk kata laluan saya?

kbacon@kbacons-MacBook-Pro bbz % go get -x gitlab.wtf.notworking/bbq/tools@latest
# get https://gitlab.wtf.notworking/bbq/tools?go-get=1
# get https://gitlab.wtf.notworking/bbq/tools?go-get=1: 200 OK (0.424s)
mkdir -p /Users/kbacon/go/pkg/mod/cache/vcs # git3 https://gitlab.wtf.notworking/bbq/tools.git
# lock /Users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179.lock# /Users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179 for git3 https://gitlab.wtf.notworking/bbq/tools.git
cd /Users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git tag -l
0.030s # cd /Users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git tag -l
cd /Users/kbacon/go/pkg/mod/cache/vcs/3bd57e1dd1ed847c1ac192f16c5f67541135ce037a175de23ec5fb5051d10179; git ls-remote -q origin
[email protected]'s password:

Penyelesaian

Jika anda menggunakan ssh, urlnya ialah / 而不是 :,您的 .gitconfig ia sepatutnya:

[url "ssh://<a href="https://www.php.cn/link/89fee0513b6668e555959f5dc23238e9" class="__cf_email__" data-cfemail="10777964507779647c71723e6764763e7e7f64677f627b797e77">[email&#160;protected]</a>:2224/"]
        insteadof = https://gitlab.wtf.notworking/

Gunakan ":"

[url "<a href="https://www.php.cn/link/89fee0513b6668e555959f5dc23238e9" class="__cf_email__" data-cfemail="e4838d90a4838d90888586ca939082ca8a8b90938b968f8d8a83">[email&#160;protected]</a>:2224:"]
        insteadof = https://gitlab.wtf.notworking/

Dalam fail konfigurasi ssh anda, pastikan anda menggunakan akaun perkhidmatan git dan bukan log masuk, port dan entri hos tersuai anda:

host gitlab-wtf
    user git
    hostname gitlab.wtf.notworking
    identityfile ~/.ssh/company_gitlab # path to private key
    addkeystoagent yes
    port 2224

Dengan cara ini anda boleh menggunakan:

[url "ssh://gitlab-wtf/"]
        insteadof = https://gitlab.wtf.notworking/

Tiada lagi git@:2224.

Atas ialah kandungan terperinci Import projek go dari repositori gilab persendirian menggunakan ssh: semakan tidak diketahui. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam