Erste Schritte mit der Git-Entwicklung#

Dieser Abschnitt und der nächste beschreiben im Detail, wie Sie Git für die Arbeit mit dem SciPy-Quellcode einrichten. Wenn Sie Git bereits eingerichtet haben, fahren Sie mit Entwicklungsablauf fort.

Grundlegende Git-Einrichtung#

  • Die Entwicklung mit Git kann vollständig ohne GitHub erfolgen. Git ist ein verteiltes Versionskontrollsystem. Um Git auf Ihrem Computer nutzen zu können, müssen Sie zuerst Git installieren.

  • Stellen Sie sich Git vor

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

Erstellen einer eigenen Kopie (Fork) von SciPy#

Dies müssen Sie nur einmal tun.

  1. Richten Sie ein und konfigurieren Sie ein GitHub-Konto

    Wenn Sie noch kein GitHub-Konto haben, gehen Sie zur GitHub-Seite und erstellen Sie eines.

    Anschließend müssen Sie Ihr Konto so konfigurieren, dass es Schreibzugriff erlaubt – siehe die Hilfe Generieren von SSH-Schlüsseln auf GitHub Hilfe.

  2. Erstellen Sie als Nächstes Ihre eigene geforkte Kopie von SciPy.

Überblick#

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

Im Detail#

Klonen Sie Ihren Fork#

  1. Klonen Sie Ihren Fork auf Ihren lokalen Computer mit git clone https://github.com/your-user-name/scipy.git

  2. Untersuchen Sie. Wechseln Sie in Ihr neues Repository: cd scipy. Geben Sie dann git branch -a ein, um alle Branches anzuzeigen. Sie erhalten etwa Folgendes:

    * main
    remotes/origin/main
    

    Dies teilt Ihnen mit, dass Sie sich derzeit auf dem main-Branch befinden und dass Sie auch eine remote-Verbindung zu origin/main haben. Welches Remote-Repository ist remote/origin? Versuchen Sie git remote -v, um die URLs für die Remotes anzuzeigen. Diese zeigen auf Ihren GitHub-Fork.

    Nun möchten Sie sich mit dem Upstream-Repository von SciPy GitHub verbinden, um Änderungen aus dem Trunk einbinden zu können.

Verbinden Ihres Repositories mit dem Upstream-Repository#

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

upstream ist hier nur der beliebige Name, den wir verwenden, um auf das Haupt-Repository von SciPy auf SciPy GitHub zu verweisen.

Zur eigenen Zufriedenheit zeigen Sie sich mit git remote -v show, dass Sie nun ein neues 'remote' haben, was Ihnen etwa Folgendes liefert:

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)

Um mit Änderungen in SciPy synchron zu bleiben, möchten Sie Ihr Repository so einrichten, dass es standardmäßig von upstream zieht. Dies kann mit folgendem geschehen:

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

Ihre Konfigurationsdatei sollte nun etwa so aussehen (aus $ 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

Submodule aktualisieren#

Git-Submodule initialisieren

git submodule update --init

Dies ruft alle Submodule ab und aktualisiert sie, die SciPy benötigt (z. B. Boost).

Nächste Schritte#

Sie sind nun bereit, mit der Entwicklung von SciPy zu beginnen. Weitere Details finden Sie im Leitfaden für SciPy-Mitwirkende.