{G}eekrainian

Переносим Bitbucket репозиторий на GitHub

4 мин. чтения
Программирование

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

Рассмотрим некоторые особенности GitHub которые недоступны в Bitbucket:

  1. Draft pull requests - позволяет создавать пул-реквесты черновики, которые работают как предварительные версии пул-реквестов и используются, когда разработчик хочет начать обсуждение изменений, которые он собирается внести в проект, но еще не готов к полному обзору и слиянию кода.

  2. Explicit reviewer request changes - представляет собой запрос от автора пул-реквеста к одному или нескольким ревьюверам о выполнении изменений в коде перед его принятием. Когда автор считает, что изменения, которые он предложил, требуют доработки или коррекции согласно отзывам, он может использовать эту функцию, чтобы явно попросить других разработчиков произвести эти изменения.

  3. Collapsing files and marking files as already viewed - позволяет управлять видимостью файлов внутри репозитория и помечать файлы как уже просмотренные.

В этой статье описан процесс переноса публичных и приватных репозиториев с Bitbucket на GitHub.

В качестве примера, я создал репозиторий в Bitbucket и сделал несколько коммитов:

Пример репозитория в Bitbucket
Пример репозитория в Bitbucket

1. Создание репозитория в GitHub

Создайте новый репозиторий в GitHub, предпочтительно без файлов README.md, license и т.п., а также без Pull Request и Issues.

Примечания:

  • Название нового репозитория может отличаться от названия репозитория в Bitbucket
  • Процесс переноса приватного и публичного репозиториев не имеют отличий
  • Bitbucket использует JIRA для Issues,
Создание нового репозитория в Github
Создание нового репозитория в Github

2. Применение команд

Скопируйте HTTPS (или SSH) ссылки на репозитории в Bitbucket и GitHub (репозиторий, который вы создали на предыдущем шаге).

Ссылка на новый репозиторий в GitHub
Ссылка на новый репозиторий в GitHub

Выполните следующие команды подменив ссылки на ваши репозитории:

git clone --mirror https://[email protected]/geekrainian-workspace/test.git
cd test.git
git remote set-url --push origin https://github.com/geekrainian/test.git
git push --mirror

Параметр --mirror в команде git push --mirror используется для полного зеркального копирования всех ссылок (веток, тегов и прочих ссылок) из локального репозитория в удаленный репозиторий. Это включает в себя не только код и коммиты, но и всю историю изменений и связанные ссылки.

Результат выполнения:

Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 16 threads
Compressing objects: 100% (14/14), done.
Writing objects: 100% (18/18), 1.93 KiB | 660.00 KiB/s, done.
Total 18 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), done.
To https://github.com/geekrainian/test.git
 * [new branch]      master -> master

Имейте ввиду, что выполнение этих команд не обновляет удаленный репозиторий локально (источник или upstream), а только лишь зеркалирует и затем удаляет его с локальной машины после завершения. Поэтому вам потребуется клонировать новый репозиторий снова, прежде чем приступить к работе.

В случае успешного переноса, вы увидите полную историю изменений в GitHub:

Главная страница репозитория в GitHub
Главная страница репозитория в GitHub
Страница коммитов репозитория в GitHub
Страница коммитов репозитория в GitHub

Эта история оказалось полезной? 🤔

Поддержите меня чашечкой кофе и станьте спонсором нового контента!

BuyMeACoffee

Ko-Fi

Поделиться

Похожие публикации

Улучшаем процесс командной работы в Trello

Краткая инструкция о том, как расширить возможности Trello и добавить функциональность подобную JIRA... Читать далее

© geekrainian.com

  • Русский
  • English
RSSКарта сайта