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.
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üsselnauf GitHub Hilfe.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#
Klonen Sie Ihren Fork auf Ihren lokalen Computer mit
git clone https://github.com/your-user-name/scipy.gitUntersuchen Sie. Wechseln Sie in Ihr neues Repository:
cd scipy. Geben Sie danngit branch -aein, 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 eineremote-Verbindung zuorigin/mainhaben. Welches Remote-Repository istremote/origin? Versuchen Siegit 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.