Как импортировать проект 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

  1. Вы должны иметь готовое Git-репо (пустое, доступное из местного)
  2. Если вы добавили и работаете (то есть настроены правильно - можете тянуть | толкать с помощью Github) hg-git, вы должны добавить Git-URL в (локальный) репозиторий hgrc (раздел [paths])
  3. добавить ключи OpenSSH в Github, проверить авторизацию на основе ключей в THG (pageant)
    • AFAIK, только git+ssh://git@github.com/user/repo.git URL работает на github от hg-git
  4. После этого у вас будет два удаленных связанных репозитория, для обоих вы сможете использовать push-pull на вкладке Synchronize.

Addons

Соответствующие части из mercurial.ini, git и github

[ui]
...
ssh = "...\TortoisePlink.exe"
...
[auth]
github.com.prefix = github.com
github.com.username = lazybadger

Ничего не могу сказать о последнем разделе, просто ничего не вспоминаю для "когда" и "почему"

Другие вопросы по тегам