Spec-Zone.ru › NumPy 1.21

Настройка 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. Присвойте имя upstream главному репозиторию NumPy:

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

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

Просмотр

  1. Ветви, отображаемые git branch -a будут включать

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

    Если 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.main.remote=upstream
    branch.main.merge=refs/heads/main
    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:your-user-name/numpy.git

и вместо отображения https URL, 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/dev/gitwash/development_setup.html

Spec-Zone.ru

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