Изменить удаленный URL во время клонирования - PullRequest
0 голосов
/ 03 февраля 2019

Есть ли способ изменить / заменить URL репо во время клонирования?

У меня есть основной и зеркальный серверы Bitbucket, и моя цель - максимально использовать локальное зеркало, не заставляя пользователей запоминать URL зеркала (который немного отличается от основного с именем хоста и путем).Я хочу, чтобы он был полностью прозрачным для разработчиков.

У меня есть контроль над глобальным конфигурационным файлом.

К сожалению, я не могу использовать DNS для выполнения этой работы.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Я думаю, что вы надеетесь установить единую удаленную ссылку для своего репо, где один удаленный URL-адрес используется, если он доступен, но другой удаленный URL-адрес используется, если первый недоступен (возможно, вас беспокоит сетьсбой подключения к первому пульту).

Я не знаю, как это сделать, и я не ожидаю, что будет способ сделать это.Пытаясь рассматривать два пульта как один, вы можете оказаться в ситуации, когда два пульта не согласны, и при клонировании / извлечении вы получите смешанные результаты.

Я бы предложил настроить две отдельные удаленные ссылки в вашей конфигурации.файл - один для каждого удаленного URL.Назовите первое что-то вроде origin, а второе что-то вроде origin-backup.Затем поэкспериментируйте с рабочими процессами, в которых вы (или разработчики вашей команды) выбираете, из какого пульта выбрать.

К сожалению, вам и вашей команде придется вручную обрабатывать любые различия между двумя пультами.Возможно, есть способ сделать то, что вы пытаетесь сделать, но я не думаю, что это будет возможно.

0 голосов
/ 03 февраля 2019

Вы не можете изменить URL во время клонирования .Вы передаете Git URL, и он клонируется из URL;это соединение открыто;нечего менять.Как только клон завершает работу - ну, технически, незадолго до его запуска, но внешне он выглядит так же - Git записывает URL на клона .git/config и останавливается, а теперь, после клон, вы можете в любое время изменить сохраненный URL-адрес по своему усмотрению.

Чтобы сделать это, в любое удобное время, запустите git remote set-url <em>name-of-remote</em> <em>new-url</em>, находясь в клоне.Git будет хранить новый URL под этим удаленным именем (вероятно, вы просто хотите origin здесь).В следующий раз, когда вы будете использовать это удаленное имя, Git переведет его на сохраненный URL-адрес.Технически возможно выполнить эту команду , пока git clone все еще выполняется, но это не очень хорошая идея, так как git clone собирается записать больше материала в .git/config, а две записи в .git/config могутсталкиваются друг с другом (в этом случае один из них потерпит неудачу, и какой из них не предсказуем).

...