Mac не выглядит как репозиторий Git пропустить слэш - PullRequest
0 голосов
/ 17 января 2019

I

git clone -v https://test.example.cc/Taotie/discover.git /Users/Macbook/go/src/test.example.cc/Taotie/discover

Не удалось.

git clone https://test.example.cc/Taotie/discover.git
Cloning into 'discover'...
fatal: 'git@test.example.ccTaotie/discover.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.

но если я

git clone https://github.com/xormplus/xorm.git

это работает.

Я не знаю, почему он пропускает "/" внутри URL-адреса git.

и если я

git clone git@test.example.cc:Taotie/discover.git

это работает, потому что я уже добавил свой Mac rsa_pub в gitlab, и я всегда могу git clone success с этим форматом

 git clone git@test.example.cc:anything/project.

Причина, по которой я задаю этот вопрос: я использую go get, и он возвращает ошибку

bogon:Taotie Macbook$   go get test.example.cc/Taotie/discover
# cd .; git clone https://test.example.cc/Taotie/discover.git /Users/Macbook/go/src/test.example.cc/Taotie/discover
Cloning into '/Users/Macbook/go/src/test.example.cc/Taotie/discover'...
fatal: 'git@test.example.ccTaotie/discover.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.
package test.example.cc/Taotie/discover: exit status 128

Наконец git config --global url."git@test.example.cc:".insteadOf "https://test.example.cc/" решил мою проблему ~~~

1 Ответ

0 голосов
/ 17 января 2019

Как сказал @Oren_C:

"fatal: 'git@test.example.ccTaotie/discover.git' не является репозиторием git" Это синтаксис, связанный с клонированием с SSH.

Вы клонируете с SSH, который, как говорится, и репозиторий существует, единственная оставшаяся опция - вы не добавили открытый ключ SSH в ваш экземпляр git.

Вы можете скопировать его с ~/.ssh/id_rsa.pub

Редактировать

ОП использовал неверный URL. Исправление было использовать: git@test.example.cc:Taotie/discover.git Обратите внимание на : между хостом и репо вместо /

Редактировать 2

Чтобы клонировать репо в заданный каталог, используйте следующую команду:

git clone git@test.example.cc:Taotie/discover.git /Users/Macbook/go/src/test.example.cc/Taotie/discover

Это приведет к клонированию репо в данном каталоге: /Users/Macbook/go/src/test.example.cc/Taotie/discover.

последнее редактирование

Чтобы клонировать его с Golang, вы должны добавить конфигурацию:

git config --global url."git@test.example.cc:".insteadOf "https://test.example.cc/"

Это заменяет сгенерированный URL-адрес git для правильного форматирования в виде: git@host.tld/name/repo.git

Тогда просто запустите go get https://test.example.cc/Taotie/discover.git

...