Spec-Zone.ru › NumPy 1.20

Настройка git для разработки NumPy

Для внесения кода или документации вам сначала необходимо

  1. установить git на вашем компьютере
  2. иметь учетную запись на GitHub
  3. сделать форк NumPy

Установка git

У вас, возможно, уже установлен git; проверьте, набрав git --version. Если он установлен, вы увидите что-то вроде git version 2.11.0. Если же вы видите command is not recognized, command not found, и т. д., установите git.

Затем задайте свое имя и электронную почту:

git config --global user.email you@yourdomain.example.com
git config --global user.name "Your Name"

Создание учетной записи на GitHub

Если у вас еще нет учетной записи на GitHub, посетите https://github.com/join, чтобы создать ее.

Создание форка NumPy

Forking состоит из двух шагов — перейдите на GitHub, чтобы создать форк репозитория в вашей учетной записи, а затем скопируйте его на свой компьютер.

Создание форк репозитория

  1. Войдите в свою учетную запись GitHub.
  2. Перейдите на главную страницу NumPy на GitHub.
  3. В правом верхнем углу страницы нажмите Fork:

    ../../_images/forking_button.png

    Вы увидите

    ../../_images/forking_message.png

    и затем попадете на главную страницу вашей скопированной копии:

    ../../_images/forked_page.png

Создание локальной копии

  1. В каталоге, куда вы хотите скопировать репозиторий, выполните команду

    git clone https://github.com/your-user-name/numpy.git
    

    Вы увидите что-то вроде:

    $ git clone https://github.com/your-user-name/numpy.git
    Cloning into 'numpy'...
    remote: Enumerating objects: 12, done.
    remote: Counting objects: 100% (12/12), done.
    remote: Compressing objects: 100% (12/12), done.
    remote: Total 175837 (delta 0), reused 0 (delta 0), pack-reused 175825
    Receiving objects: 100% (175837/175837), 78.16 MiB | 9.87 MiB/s, done.
    Resolving deltas: 100% (139317/139317), done.
    

    На вашем компьютере будет создан каталог numpy. (Если у вас уже есть каталог numpy, GitHub выберет другое имя, например, numpy-1.)

    $ ls -l
    total 0
    drwxrwxrwx 1 bjn bjn 4096 Jun 20 07:20 numpy
    
  1. Назовите основной репозиторий NumPy именем upstream:

    cd numpy
    git remote add upstream https://github.com/numpy/numpy.git
    
  2. Настройте свой репозиторий так, чтобы git pull по умолчанию получал данные из upstream:

    git config branch.master.remote upstream
    git config branch.master.merge refs/heads/master
    

Обзор

  1. Ветви, показанные git branch -a включают

    • ветвь master , которую вы только что скопировали на свой компьютер
    • ветвь master из вашего форка на GitHub, которую git по умолчанию назвал origin
    • ветвь master в основном репозитории NumPy, которую вы назвали upstream.
    master
    remotes/origin/master
    remotes/upstream/master
    

    Если upstream отсутствует, она будет добавлена после доступа к репозиторию NumPy с помощью команды типа git fetch или git pull.

  2. Репозитории, показанные git remote -v show , включают ваш форк на GitHub и основной репозиторий:

    upstream    https://github.com/numpy/numpy.git (fetch)
    upstream    https://github.com/numpy/numpy.git (push)
    origin      https://github.com/your-user-name/numpy.git (fetch)
    origin      https://github.com/your-user-name/numpy.git (push)
    
  3. git config --list будет включать

    user.email=your_email@example.com
    user.name=Your Name
    remote.origin.url=git@github.com:your-github-id/numpy.git
    remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
    branch.master.remote=upstream
    branch.master.merge=refs/heads/master
    remote.upstream.url=https://github.com/numpy/numpy.git
    remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
    

Необязательно: настройка SSH-ключей для избежания паролей

Для клонирования вашего форка репозитория NumPy пароль не потребовался, поскольку он считывал удалённый репозиторий без его изменения. Однако позже, при отправке ваших запросов на объединение изменений, GitHub будет запрашивать имя пользователя и пароль — даже если это ваш собственный репозиторий. Вы можете устранить эту аутентификацию, не жертвуя безопасностью, настроив SSH-ключи.

Если вы настроили ключи до клонирования, вышеуказанные инструкции немного меняются. Вместо

git clone https://github.com/your-user-name/numpy.git

выполните команду

git clone git@github.com:numpy/numpy.git

и вместо URL https , git remote -v будет отображать

origin  git@github.com:your-user-name/numpy.git (fetch)
origin  git@github.com:your-user-name/numpy.git (push)

Если вы уже клонировали и хотите начать использовать SSH, см. Переключение URL удаленных репозиториев с HTTPS на SSH.

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/dev/gitwash/development_setup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API