Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Импорт из других систем управления версиями с помощью административной оболочки

С помощью административной оболочки можно импортировать из Subversion, Mercurial и система управления версиями Team Foundation в репозитории Git на GitHub Enterprise Server.

Кто может использовать эту функцию

Site administrators can use the administrative shell to import data from other version control systems.

Импорт проектов из Mercurial

  1. Переход по протоколу SSH в экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе по протоколу SSH см. в разделе Доступ к административной оболочке (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Создайте необработанный клон проекта с помощью приведенной ниже команды, указав URL-адрес исходного проекта и путь к временному репозиторию:

    $ git-import-hg-raw HG-CLONE-URL/PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Просмотрите файл с разделителями-запятыми (CSV) в /PATH/REPO-NAME.git/git-import/raw-authors.csv. Он должен содержать следующие столбцы:

    • ID — автор, сохраненный в исходном репозитории, и уникальный идентификатор;
    • NAME — автор, сохраненный в исходном репозитории.

    Чтобы сопоставить авторов из исходного репозитория с адресом электронной почты и именем, создайте новый CSV-файл со столбцами ID,(ignored),GIT_EMAIL,GIT_NAME, в которых сведения об авторах заменены по ID на GIT_EMAIL и GIT_NAME.

    Пример.

    • Исходный идентификатор автора: octocat@111111-2222-3333-4444-55555555555

    • Новый адрес электронной почты: octocat@github.com

    • Новое имя: The Octocat

      Для сопоставления исходного автора с новым пользователем GIT CSV-файл должен содержать следующую строку:

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Перезапись авторов и ветвей с помощью CSV-файла:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Создайте пустой репозиторий для GitHub Enterprise Server, если он еще не создан.

  6. Измените текущий рабочий репозиторий на локальный проект.

  7. Передайте импортированный репозиторий в GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Импорт проектов из Subversion

  1. Переход по протоколу SSH в экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе по протоколу SSH см. в разделе Доступ к административной оболочке (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Создайте необработанный клон проекта с помощью приведенной ниже команды, указав URL-адрес исходного проекта и путь к временному репозиторию:

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Просмотрите файл с разделителями-запятыми (CSV) в /PATH/REPO-NAME.git/git-import/raw-authors.csv. Он должен содержать следующие столбцы:

    • ID — автор, сохраненный в исходном репозитории, и уникальный идентификатор;
    • NAME — автор, сохраненный в исходном репозитории.

    Чтобы сопоставить авторов из исходного репозитория с адресом электронной почты и именем, создайте новый CSV-файл со столбцами ID,(ignored),GIT_EMAIL,GIT_NAME, в которых сведения об авторах заменены по ID на GIT_EMAIL и GIT_NAME.

    Пример.

    • Исходный идентификатор автора: octocat@111111-2222-3333-4444-55555555555

    • Новый адрес электронной почты: octocat@github.com

    • Новое имя: The Octocat

      Для сопоставления исходного автора с новым пользователем GIT CSV-файл должен содержать следующую строку:

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Перезапись авторов и ветвей с помощью CSV-файла:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Создайте пустой репозиторий для GitHub Enterprise Server, если он еще не создан.

  6. Измените текущий рабочий репозиторий на локальный проект.

  7. Передайте импортированный репозиторий в GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Импорт проектов из системы управления версиями Team Foundation

  1. Переход по протоколу SSH в экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе по протоколу SSH см. в разделе Доступ к административной оболочке (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Создайте необработанный клон проекта с помощью приведенной ниже команды, указав URL-адрес исходного проекта и путь к временному репозиторию:

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Просмотрите файл с разделителями-запятыми (CSV) в /PATH/REPO-NAME.git/git-import/raw-authors.csv. Он должен содержать следующие столбцы:

    • ID — автор, сохраненный в исходном репозитории, и уникальный идентификатор;
    • NAME — автор, сохраненный в исходном репозитории.

    Чтобы сопоставить авторов из исходного репозитория с адресом электронной почты и именем, создайте новый CSV-файл со столбцами ID,(ignored),GIT_EMAIL,GIT_NAME, в которых сведения об авторах заменены по ID на GIT_EMAIL и GIT_NAME.

    Пример.

    • Исходный идентификатор автора: octocat@111111-2222-3333-4444-55555555555

    • Новый адрес электронной почты: octocat@github.com

    • Новое имя: The Octocat

      Для сопоставления исходного автора с новым пользователем GIT CSV-файл должен содержать следующую строку:

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Перезапись авторов и ветвей с помощью CSV-файла:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git
  5. Создайте пустой репозиторий для GitHub Enterprise Server, если он еще не создан.

  6. Измените текущий рабочий репозиторий на локальный проект.

  7. Передайте импортированный репозиторий в GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Дополнительные материалы