Как переименовать репозиторий Git, созданный с помощью гитолита?
Я создал репозиторий Git, используя гитолит. Теперь я хотел бы переименовать этот репозиторий.
Как я могу это сделать?
В gitolite readme говорится, что я не должен работать непосредственно на сервере. Но я предполагаю, что в этом случае я должен выполнить некоторую работу на сервере, верно?
Ответы
Ответ 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-репозитория должно выполняться в соответствии с гитолитными инструкциями (локально).