репозиториев GitHub имя пользователя указывается там, где на первый взгляд ожидаешь увидеть имя порта (после двоеточия и перед слешем). Как такого же эыфекта добиться на своём сервере?
Есть ли возможность сократить путь типа /var/local/git-repo/user до просто user во внешнем адресе репозитория?
Формат адреса в git соответствует url/uri формату
Там так: git@github.com:user/repo.git
ты читал, как устроены URI? доветочие необязательно хост и порт разделяет
https://datatracker.ietf.org/doc/html/rfc2396
На GitHub, GitLab и т.д.
Покажи скрин или дай ссылку на пруф
Полный путь при первоначальном добавлении удалённой репы обязателен
git remote -v gitlab git@gitlab.com:askh/pypimirror.git (fetch) gitlab git@gitlab.com:askh/pypimirror.git (push) origin git@github.com:askh/pypimirror.git (fetch) origin git@github.com:askh/pypimirror.git (push)
askh - это не имя пользователя, а путь к репе. Ну да, оно внезапно совпадает с именем пользователя, такое бывает. Но это путь
Пускай путь. Но он после двоеточия и короткий. Не думаю, что у них там на диске в корне есть каталог askh. Просто может есть способ сократить (к примеру) /var/local/userrepo/askh до askh?
Что значит сократить? Если вместо /var/local/userrepo/askh ты напишешь / что случится?
У них бэкенд отвечает за путь
У тебя пробелы в знаниях
Вот почему у нас в России всегда докапываются до собеседника вместо ответа?.. Ну я мог бы подлиннее и поточнее написать. Понятно, что это их сервер может обеспечивать, суть вопроса в чём: хочется добиться того же эффекта при минимуме усилий. Может не надо разворачивать, к примеру, GitLab у себя, а можно просто какую-то опцию в конфиге git указать?
путь в URI уже давно не имеет отношения к пути в ФС
Это понятно :-) Вопрос изначально в том, чтобы сократить этот путь: «Есть ли возможность сократить путь типа /var/local/git-repo/user до просто user во внешнем адресе репозитория?»
так а какой у тебя гит сервер?
я могу ошибаться, но если ты у себя попробуешь обратиться к user@server:project.git, ты получишь project.git из домашней директории user на сервере
Я хотел узнать, можно ли штатными средствами обойтись. В состав git входит git-shell, ставится как оболочка для пользователя git (к примеру), но в документации ничего на эту тему не нашёл. Сейчас уже поставил gitolite.
Из-за проблем ху. На вопрос «как выстрелить себе в ногу?» ответом скорее будет «а зачем стрелять себе в ногу? Какую задачу ты решаешь?» вместо четкой инструкции.
Но я не спрашиваю, как выстрелить в ногу, вопрос, по-моему, вполне нормальный. Длинный путь к репозиторию — это досадная мелочь, с которой хочется разобраться (вдруг это решается просто и быстро). Ну она реально мешает, особенно если надо набрать адрес репозитория по памяти. А, поскольку у github.com и gitlab.com сделано именно так, как хочется сделать, понятно, что стоит изучить вопрос — как, раз это возможно. Недавно на github.com заблокировали несколько российских аккаунтов, GitLab вроде можно развернуть у себя, но не уверен, что он будет нормально работать на дешёвом VPS. Поэтому хочется найти самое простое и при этом удобное решение для организации сервера git.
нельзя. штатные средства не включают в себя полноценный многопользовательский сервер гита.
> Длинный путь к репозиторию — это досадная мелочь, с которой хочется разобраться (вдруг это решается просто и быстро). WUT?
Ну это был бы не функционал полноценного сервера, вероятно речь шла бы про опцию в конфигурационном файле git-shell.
Нашёл кстати ответ: это способ обозначить протокол ssh: Чтобы клонировать Git-репозиторий по SSH, вы можете указать префикс ssh:// в URL, например: $ git clone ssh://[user@]server/project.git Или можно использовать для протокола SSH краткий синтаксис наподобие scp: $ git clone [user@]server:project.git Источник: https://git-scm.com/book/ru/v2/Git-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5-%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B
Обсуждают сегодня