2013-12-03 3 views
77

У меня есть счет установки Gitlab где я создал репозиторий «ffki-Startseite»Импортировать существующий проект git в GitLab?

Теперь я хочу, чтобы клонировать репозиторий git://freifunk.in-kiel.de/ffki-startseite.git в этот репозиторий со всеми фиксаций и ветвей, так что я могу начать работать над ним в моем собственный объем.

Как его можно импортировать?

+0

Новая функция gitlab, создать проект, а затем перейдите на страницу проекта. Здесь вы увидите основные инструкции. –

ответ

74

Добавить новый gitlab удаленного в существующий репозиторий и нажмите:

git remote add gitlab url-to-gitlab-repo 
git push gitlab master 
+0

Мне пришлось толкнуть его с силой, потому что я уже играл в gitLab: 'git push gitlab master -f'. Теперь у меня есть полное репо со всеми коммитами в моем новом GitLab;) спасибо – rubo77

+15

Вам не нужно было бы делать зеркало? Что, если у вас были другие ветви, кроме мастера? – slhck

+7

Да, делая так, как предлагает OP, вы ** теряете все ветви (кроме мастера) и теги ** – raveren

10

rake gitlab:import:repos может быть более подходящим методом для массового импорта:

  • скопировать голый репозиторий под repos_path (/home/git/repositories/group/repo.git). Имя каталога должно заканчиваться на .git и находиться под пространством имен групп или пользователей.
  • пробег bundle exec rake gitlab:import:repos

Владелец будет первым администратор, и группа будет получать создан, если уже не существует.

Смотрите также: How to import an existing bare git repository into Gitlab?

+0

Для тех, кто может быть смущен, голый репозиторий - это хранилище, обычно находящееся в централизованном месте (например, github), которое НЕ содержит папку .git в корне репозитория. Это только удобный вариант, если у вас есть доступ к серверу, на котором хранится голый репозиторий. В противном случае ответ от @ Raveren - лучший вариант. – TinkerTenorSoftwareGuy

102

Я был в состоянии полностью экспортировать свой проект вместе со всеми зафиксируется, ветви и теги к gitlab через следующие команды выполняются локально на компьютере:

Чтобы проиллюстрировать мой Например, я буду использовать https://github.com/raveren/kint в качестве исходного репозитория, который я хочу импортировать в gitlab. Я создал пустой проект с именем Kint (в пространстве имен raveren) в gitlab заранее, и он сказал мне HTTP GIT URL вновь созданного проекта есть http://gitlab.example.com/raveren/kint.git

Эти команды OS агностиком.

В каталоге нового:

git clone --mirror https://github.com/raveren/kint 
cd kint.git 
git remote add gitlab http://gitlab.example.com/raveren/kint.git 
git push gitlab --mirror 

Теперь, если у вас есть локально клонированный репозиторий, который вы хотите продолжать использовать с новым ПДА, просто запустите следующие команды * есть:

git remote remove origin 
git remote add origin http://gitlab.example.com/raveren/kint.git 
git fetch --all 

* Предполагается, что вы не переименовали удаленный мастер с origin, в противном случае измените первые две строки, чтобы отразить это.

3
git clone --mirror [email protected]:username/repo-name.git 

git remote add gitlab ssh://[email protected]/username/repo.git 

git push -f --tags gitlab refs/heads/*:refs/heads/* 

Лучше сделать это через SSH, то HTTPS, возможно, не будет работать

3

Это основной шаг один репо на новое место. Я использую эту последовательность все время. С --bare никаких исходных файлов не будет видно.

Открыть Git Bash.
Создайте пустой клон репозитория.

git clone --bare https://github.com/exampleuser/old-repository.git 

Зеркально-толкать в новый репозиторий.

cd old-repository.git 

git push --mirror https://github.com/exampleuser/new-repository.git 

Удалите временный локальный репозиторий, созданный на шаге 1.

cd .. 
rm -rf old-repository.git 
1

Чтобы сохранить все теги и Филиалов

Просто запустите эту команду в existing Git repository

cd existing_repo 
git remote add gitlab [email protected]:hutber/kindred.com.git 
git push -u gitlab --all 
git push -u gitlab --tags 
Смежные вопросы