Начало работы с разработкой на Git#

Этот раздел и следующий подробно описывают, как настроить git для работы с исходным кодом SciPy. Если git уже настроен, перейдите к Рабочий процесс разработки.

Базовая настройка Git#

  • Разработка с использованием git может осуществляться полностью без GitHub. Git — это распределённая система контроля версий. Чтобы использовать git на вашем компьютере, необходимо сначала установить git.

  • Познакомьтесь с Git:

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

Создание собственной копии (форка) SciPy#

Вам нужно сделать это только один раз.

  1. Настройка и конфигурация github учёт

    Если у вас нет github учетную запись, перейдите к github страницу и создайте одну.

    Затем вам нужно настроить свою учетную запись, чтобы разрешить доступ на запись - см. Generating SSH keys справка по справка github.

  2. Далее, создайте свой собственный форкнутая копия SciPy.

Обзор#

git clone https://github.com/your-user-name/scipy.git
cd scipy
git remote add upstream https://github.com/scipy/scipy.git
git submodule update --init

Подробно#

Клонируйте ваш форк#

  1. Клонируйте свой форк на локальный компьютер с помощью git clone https://github.com/your-user-name/scipy.git

  2. Исследовать. Перейдите в каталог вашего нового репозитория: cd scipy. Затем git branch -a чтобы показать вам все ветки. Вы получите что-то вроде:

    * main
    remotes/origin/main
    

    Это сообщает вам, что вы сейчас находитесь на main ветка, и что у вас также есть remote связь с origin/main. Какой удалённый репозиторий remote/origin? Попробуйте git remote -v чтобы увидеть URL-адреса для удалённого репозитория. Они будут указывать на ваш github fork.

    Теперь вы хотите подключиться к вышестоящему SciPy github репозиторий, чтобы можно было объединять изменения из основной ветки.

Привязка вашего репозитория к вышестоящему репозиторию#

cd scipy
git remote add upstream https://github.com/scipy/scipy.git

upstream здесь — это просто произвольное имя, которое мы используем для обозначения основного SciPy репозиторий на SciPy github.

Просто для вашего собственного удовлетворения, убедитесь, что у вас теперь есть новый 'удалённый репозиторий', с git remote -v show, давая вам что-то вроде:

upstream     https://github.com/scipy/scipy.git (fetch)
upstream     https://github.com/scipy/scipy.git (push)
origin       https://github.com/your-user-name/scipy.git (fetch)
origin       https://github.com/your-user-name/scipy.git (push)

Чтобы оставаться в синхронизации с изменениями в SciPy, вы хотите настроить свой репозиторий так, чтобы он получал данные из upstream http://sun.stanford.edu/~rmunk/PROPACK

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

Ваш конфигурационный файл теперь должен выглядеть примерно так (из $ cat .git/config):

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = false
[remote "origin"]
        url = https://github.com/your-user-name/scipy.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[remote "upstream"]
        url = https://github.com/scipy/scipy.git
        fetch = +refs/heads/*:refs/remotes/upstream/*
[branch "main"]
        remote = upstream
        merge = refs/heads/main

Обновить подмодули#

Инициализация git submodules:

git submodule update --init

Это извлекает и обновляет любые подмодули, которые нужны SciPy (такие как Boost).

Следующие шаги#

Теперь вы готовы начать разработку с использованием SciPy. Проверьте Руководство для участников SciPy для получения дополнительной информации.