Подтвердить что ты не робот

Как переименовать репозиторий Git, созданный с помощью гитолита?

Я создал репозиторий Git, используя гитолит. Теперь я хотел бы переименовать этот репозиторий.

Как я могу это сделать?

В gitolite readme говорится, что я не должен работать непосредственно на сервере. Но я предполагаю, что в этом случае я должен выполнить некоторую работу на сервере, верно?

4b9b3361

Ответ 1

Как указано в руководстве gitolite basic-admin:

переименование репо

Это похоже; нет кода для этого в gitolite. Что вы делаете:

  • войдите на сервер, cd $REPO_BASE (по умолчанию: cd ~/repositories) и

    mv old-name.git new-name.git

  • вернитесь в свой клон gitolite-admin, отредактируйте conf/gitolite.conf и замените все вхождения old-name на new-name. Затем добавьте, зафиксируйте и нажмите, как обычно.

Порядок этих 2 шагов важен; не меняйте их: -)

Третий шаг необходим для гитолита3:

  • отредактируйте файл gl-conf в репо и измените имя репозитория на новое имя

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

Ответ 2

Я специально не знаком с gitolite, но один подход, который может работать, - создать совершенно новый репозиторий с правильным именем, подтолкнуть его код к нему и затем удалить старый.

Ответ 3

Используя Greg Hewgill как идею, вы можете переименовать репозиторий в файле конфигурации. Сначала вы можете попробовать это в фиктивном хранилище. Мои подозрения - это старое имя будет удалено, новое будет создано, и вам нужно обновить свое происхождение локально, а затем нажмите.

Ответ 4

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

Предполагая, что старый OLD и новый (пустой) NEW:

# mkdir /tmp/1
# cd /tmp/1
# git clone OLD_REPO old
# git clone NEW_REPO new
# cd new
# git pull ../old
# git push origin master

Или вы можете напрямую использовать дистанционное репо для OLD:

# mkdir /tmp/1
# cd /tmp/1
# git clone NEW_REPO new
# cd new
# git pull OLD_REPO
# git push origin master

Это сохранит всю историю и позволит гитолит обрабатывать свои внутренние элементы. Кроме того, вам нужно будет обновить gitolite-admin, но там не будет ограничений в порядке.

Это также работает без проблем.

Удаление OLD-репозитория должно выполняться в соответствии с гитолитными инструкциями (локально).