Ответ
В Git для работы с удалёнными репозиториями используются URL, различающиеся по протоколу и формату:
Основные типы URL:
-
HTTPS URL
- Формат:
https://hostname.com/path/to/repo.git - Использование: Стандартный способ, не требующий дополнительной настройки на клиенте. Часто запрашивает логин/пароль.
git clone https://github.com/user/example-repo.git
- Формат:
-
SSH URL
- Формат:
git@hostname.com:user/repo.gitилиssh://git@hostname.com:port/path/to/repo.git - Использование: Безопасный протокол, использующий пару ключей (публичный/приватный). Не требует ввода пароля при каждом обращении.
git clone git@github.com:user/example-repo.git # С указанием порта git clone ssh://git@example.com:2222/user/repo.git
- Формат:
-
Git URL (устаревший)
- Формат:
git://hostname.com/path/to/repo.git - Использование: Специальный, нешифрованный протокол Git. Не рекомендуется из-за отсутствия аутентификации и шифрования.
- Формат:
Дополнительные форматы и параметры:
- URL с учётными данными (небезопасно): Встраивание логина и пароля прямо в URL.
git clone https://username:password@github.com/user/repo.git - Локальные пути: Для репозиториев в локальной файловой системе.
git clone /opt/git/project.git git clone file:///opt/git/project.git
Как посмотреть URL текущего удалённого репозитория:
git remote -v
# origin git@github.com:user/repo.git (fetch)
# origin git@github.com:user/repo.git (push) Ответ 18+ 🔞
Да ты посмотри, какая хуйня творится в этом вашем Гит-то! Там же, блядь, целый зоопарк этих URL-адресов, и каждый со своим характером, как сука в баре. Разбираться надо, а то наебнёшься с первого же клона.
Вот основные типы, которые тебя ждут:
-
HTTPS URL — для ленивых и доверчивых
- Как выглядит:
https://hostname.com/path/to/repo.git - Суть: Дефолтный путь, для него нихуя настраивать не надо. Но он, сука, как назойливый попрошайка — каждый раз будет тебя за логин с паролем доёбываться. Удобно, но надоедает пиздецки.
git clone https://github.com/user/example-repo.git
- Как выглядит:
-
SSH URL — для пацанов, которые в теме
- Как выглядит:
git@hostname.com:user/repo.gitилиssh://git@hostname.com:port/path/to/repo.git - Суть: Вот это уже серьёзно, блядь. Работает на ключах — один публичный на сервак закинул, приватный у себя держишь. Настроил один раз — и потом летаешь как бог, без этих ебучих запросов пароля. Настоящая магия, ёпта.
git clone git@github.com:user/example-repo.git # А если сервер извращенец и порт нестандартный git clone ssh://git@example.com:2222/user/repo.git
- Как выглядит:
-
Git URL — древний артефакт, как хуй мамонта
- Как выглядит:
git://hostname.com/path/to/repo.git - Суть: Протокол времён, когда всем было похуй на безопасность. Ни шифрования, ни аутентификации — один голый стриптиз. Хуй будешь так использовать, только если ты самоубийца или тебе на проект насрать.
- Как выглядит:
А ещё есть, блядь, извращения всякие:
- URL с логином-паролем внутри (ахтунг!): Впихнуть всё прямо в строку, чтоб врагу не повадно было. Не делай так, если не хочешь, чтобы твои креды светились в истории баша, как ёлочная гирлянда.
git clone https://username:password@github.com/user/repo.git - Локальные пути — для домашних посиделок: Когда репа валяется прямо на твоём же компе.
git clone /opt/git/project.git git clone file:///opt/git/project.git
И главное, чувак, не забудь! Чтобы не гадать, на каком же ты URL висишь, как обезьяна на лиане, просто введи волшебную команду:
git remote -v
# origin git@github.com:user/repo.git (fetch)
# origin git@github.com:user/repo.git (push)
Вот тебе и вся правда, в рот меня чих-пых. Выбирай с умом, а не как последний распиздяй.