Могу ли я переименовать подкаталог Git без изменения URL-адреса (для его содержимого)? - PullRequest
1 голос
/ 09 июля 2020

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

Подкаталог в настоящее время называется «Расширенные руководства», и я хочу переименуйте его в «Руководства пользователя», но не хотите, чтобы URL-адрес изменялся с xyzi.com.au / Documentation / advanced-guides /...

Можно ли изменить имя подкаталога без изменения URL-адреса?

Если бы мы использовали cms, это было бы возможно, поэтому я очень надеюсь, что есть способ сделать это на этом сайте. Мне сказали, что это невозможно, но мне трудно в это поверить (я всегда оптимист)!

Я приложил пару снимков экрана, чтобы показать файловую структуру - один из них - вид из Finder, другой вид из Терминала:

Это список подкаталогов через Finder

Это содержимое подкаталога через Терминал, там - это много контента, который будет затронут, если URL-адрес изменится

Я хочу, чтобы этот URL-адрес оставался прежним, даже после того, как я переименую подкаталог с «Advanced Guides» на «User Гиды '

Что можно попробовать?

1 Ответ

0 голосов
/ 26 июля 2020

Ответ здесь, согласно комментариям, заключается в том, что если вы сами размещаете удаленный компьютер, вы можете настроить повторяющиеся имена / маршруты, чтобы, возможно, делать то, что вы ищете. В противном случае это, скорее всего, невозможно (на Github, Gitlab и т. Д. c.).

Однако мой ответ таков: вам следует серьезно пересмотреть , почему вы хотите это сделать, и, вероятно, исправят причину root, которая заставляет вас захотеть это сделать, вместо того, чтобы преследовать git или серверный бандаж, который заблокирует вероятную плохую инфраструктуру, распространяя ее еще дальше и дольше в вашу кодовую базу.

Что-то в вашей инфраструктуре было построено с жестко запрограммированными ссылками, вместо того, чтобы быть гибким и / или настраиваемым. Реорганизация вашей инфраструктуры для поддержки более гибкого подхода с большей вероятностью будет иметь смысл в долгосрочной перспективе, и если время / график имеют существенное значение, вы всегда можете просто выполнить поиск / замену, чтобы изменить жестко закодированные ссылки, но все еще жестко запрограммированные .

Другие соображения по поводу альтернативного решения

Обновление ваших внешних URL-ссылок, скорее всего, нарушит обратную совместимость. Однако, если это так, скорее всего, у вас нет правильной настройки взаимозависимостей репо. Например, использование субмодулей Git может позволить вам t ie коммитов одного репо к коммитам другого репо, чтобы управление версиями всегда было правильным по наследству.

т.е. если жестко заданные URL-адреса находятся во внешнем инструмент, если вы исправите эти ссылки в его репозитории при обновлении подмодуля до фиксации, где имя каталога изменяется в вашем основном репозитории кода, то обновления для обоих репозиториев будут синхронизированы c 'd.

Или, проще говоря, если жестко запрограммированные ссылки находятся в файле конфигурации для этого инструмента, просто сохраните файл конфигурации в основном репозитории кода. Это соответствует шаблону проектирования «инфраструктура как код» и лучшим практикам. Если ваш внешний инструмент является самодельным, не должно быть слишком сложно изменить его, чтобы он принял какую-то конфигурационную переменную в файле, вместо того, чтобы компилировать жестко запрограммированное значение в инструмент.

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

...