Настройка git для разработки NumPy
Для внесения кода или документации вам сначала необходимо
- установить git на вашем компьютере
- иметь учетную запись на GitHub
- сделать форк 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, чтобы создать форк репозитория в вашей учетной записи, а затем скопируйте его на свой компьютер.
Создание форк репозитория
- Войдите в свою учетную запись GitHub.
- Перейдите на главную страницу NumPy на GitHub.
-
В правом верхнем углу страницы нажмите
Fork:Вы увидите
и затем попадете на главную страницу вашей скопированной копии:
Создание локальной копии
-
В каталоге, куда вы хотите скопировать репозиторий, выполните команду
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
-
Назовите основной репозиторий NumPy именем
upstream:cd numpy git remote add upstream https://github.com/numpy/numpy.git
-
Настройте свой репозиторий так, чтобы
git pullпо умолчанию получал данные изupstream:git config branch.master.remote upstream git config branch.master.merge refs/heads/master
Обзор
-
Ветви, показанные
git branch -aвключают- ветвь
master, которую вы только что скопировали на свой компьютер - ветвь
masterиз вашего форка на GitHub, которую git по умолчанию назвалorigin - ветвь
masterв основном репозитории NumPy, которую вы назвалиupstream.
master remotes/origin/master remotes/upstream/master
Если
upstreamотсутствует, она будет добавлена после доступа к репозиторию NumPy с помощью команды типаgit fetchилиgit pull. - ветвь
-
Репозитории, показанные
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)
-
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