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 в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).

    Shell
    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. Этот CSV-файл можно использовать для замены сведений автора на "id" на "GIT_EMAIL" и "GIT_NAME".

    Например, если вы хотите сопоставить исходный идентификатор octocat@111111-2222-3333-4444-55555555555 автора с новым пользователем с адресом octocat@github.com электронной почты и именем The Octocat, 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 в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).

    Shell
    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. Этот CSV-файл можно использовать для замены сведений автора на "id" на "GIT_EMAIL" и "GIT_NAME".

    Например, если вы хотите сопоставить исходный идентификатор octocat@111111-2222-3333-4444-55555555555 автора с новым пользователем с адресом octocat@github.com электронной почты и именем The Octocat, 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 в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).

    Shell
    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. Этот CSV-файл можно использовать для замены сведений автора на "id" на "GIT_EMAIL" и "GIT_NAME".

    Например, если вы хотите сопоставить исходный идентификатор octocat@111111-2222-3333-4444-55555555555 автора с новым пользователем с адресом octocat@github.com электронной почты и именем The Octocat, 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
    

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