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