Как импортировать проект Bitbucket в Github на Windows
У меня есть проект HG, размещенный на Bitbucket, и я хочу перенести его на Github.
Я следовал инструкциям здесь, чтобы установить расширение hg-git на моем TortoiseHG.
Я создал репозиторий на Github, но еще не инициализировал его (он отображает эту страницу инструкций), поэтому я не могу клонировать этот репозиторий git.
Что мне делать дальше?
РЕДАКТИРОВАТЬ: Извините забыл добавить, что я буду использовать git с тех пор.
ОБНОВЛЕНИЕ: я позаимствовал Mac и преобразовал его с помощью fast-git-import
безболезненный. Если кто-то попробовал приведенные ниже решения и работал под Windows, достаточно проголосовать за него, и я сделаю ответ.
3 ответа
Только что обнаружил, что мой вопрос является дубликатом Преобразования репозитория Mercurial (hg) в Git на Windows (7).
Это работает хорошо. Поскольку все это под Cygwin, нет необходимости использовать конкурс.
В дополнение к ответу на этот вопрос. Мне просто нужно сгенерировать ключ под Cygwin, используя ssh-keygen -t rsa
, Затем я скопировал содержимое открытого ключа в .ssh/id_rsa.pub
в Github настройки хранилища.
Я установил в git origin адрес Gihub git remote add origin (repo address)
, Тогда, наконец, я могу git push origin master --force
на Github.
Вы должны завершить процесс HG-GIT (как hg gexport
локально на вашей рабочей станции.
Затем, когда у вас есть git-репо, отражающее исходное Hg-репо, вы можете добавить источник GitHub и нажать на него:
git remote add origin https://github.com/user/yourProject.git
git push origin master
git push --all
Тем не менее, Lazy Badger комментирует, и вполне справедливо, что OP может захотеть использовать только Mercurial для этого процесса, а не устанавливать Git вообще.
В этом случае страница " hg-git на GitHub" содержит:
Если вы начинаете с существующего репозитория Hg, вам нужно настроить Git-репозиторий где-то, к которому у вас есть push-доступ, добавить его в качестве пути по умолчанию или push-пути по умолчанию в вашем
.hg/hgrc
а потом бегиhg push
из вашего проекта.
Например:
$ cd hg-git # (an Hg repository)
$ # edit .hg/hgrc and add the target git url in the paths section
$ hg push
Это преобразует все ваши данные Hg в объекты Git и отправляет их на сервер Git.
Предполагается, что база VCS по-прежнему Mercurial и инструмент - TortoiseHG
- Вы должны иметь готовое Git-репо (пустое, доступное из местного)
- Если вы добавили и работаете (то есть настроены правильно - можете тянуть | толкать с помощью Github) hg-git, вы должны добавить Git-URL в (локальный) репозиторий hgrc (раздел [paths])
- добавить ключи OpenSSH в Github, проверить авторизацию на основе ключей в THG (pageant)
- AFAIK, только
git+ssh://git@github.com/user/repo.git
URL работает на github от hg-git
- AFAIK, только
- После этого у вас будет два удаленных связанных репозитория, для обоих вы сможете использовать push-pull на вкладке Synchronize.
Addons
Соответствующие части из mercurial.ini, git и github
[ui]
...
ssh = "...\TortoisePlink.exe"
...
[auth]
github.com.prefix = github.com
github.com.username = lazybadger
Ничего не могу сказать о последнем разделе, просто ничего не вспоминаю для "когда" и "почему"