Das Konzept¶
git ist ein schnelles, skalierbares, verteiltes Revisionssystem*, das ursprünglich von Linus Torvalds entwickelt wurde (mehr zum git kernel). git ermöglicht es, die Arbeit der Mitarbeiter über die Programmierung hinaus in jeder Menge von Dateien zu koordinieren. Die Unterstützung nichtlinearer Workflows, Geschwindigkeit und Datenintegrität macht git zu einem unverzichtbaren Werkzeug in vielen Branchen und Forschungen. Bevor Sie beginnen, dieses git Tutorial zu lesen, werfen Sie einen Blick auf die schematisierte Funktion von Repositories, die mit git gehostet werden.

Das Konzept von Git und Grundvokabular. Der REMOTE-Rahmen ist online (d.h. jemand anderen Computer) und der LOCAL-Rahmen ist das, was auf einem persönlichen Computer passiert, der mit dem Internet verbunden ist. Repositories können neu erstellt oder remote aufgerufen werden. Remote-Repositories können lokal kloniert, lokal verändert und lokale Änderungen können auf ein Remote-Repository verschoben werden. Mitarbeiter wollen sicherstellen, dass regelmäßig Änderungen eines Remote-Repositorys gezogen werden. Die Zusammenarbeit mit und an verschiedenen Zweigen wird mit der Anzahl der Entwickler immer wichtiger, und für den Moment müssen wir nur daran denken, dass wir in der Hauptbranche (d.h. stromaufwärts / HEAD = main) arbeiten.
Git installieren¶
Die mit diesem eBook bereitgestellten Materialien werden am besten heruntergeladen und mit git-fähigen Umgebungen aktualisiert (vermeiden Sie das Herunterladen von Materialien als zip-Datei).
Obwohl git eine integrale Funktion der meisten Linux-Distributionen ist, müssen Debian-Benutzer sie möglicherweise noch installieren. Dazu öffnen Sie Terminal und tippen Sie auf:
sudo apt install gitDownloaden und installieren Sie Git Bash und verwenden Sie diese zusammen mit einer IDE wie PyCharms Community Edition oder VS Code.
macOS-Nutzer können Homebrew für die Installation von git, aber es gibt andere Optionen, wie Xcode.
Um Homebrew für die Installation von git zu verwenden, starten Sie mit der Installation von Homebrew über die macOS Terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Die Installation von Homebrew kann eine Weile dauern. Nach der Installation stellen Sie sicher, dass Sie die benötigte PATH-Variable (Copy line-by-line) exportieren:
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/$USER/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)Möglicherweise müssen die Pfade in den obigen Befehlen an die Verzeichnisse angepasst werden, die der Homebrew-Installer am Ende seiner Installation anfordert.
Schließlich installieren Sie git mit Homebrew:
brew install gitLetztlich bietet Homewbrew viele weitere Pakete, die im Wesentlichen für Entwickler nützlich sind, wie ruby oder React(go to the full package list].
Read more installation instructions and about options for git on macOS at https://
Die Repositories für diesen Kurs werden hauptsächlich auf GitHub gehostet. Es gibt viele andere git-Dienstleister, wie GitLab, plan.io, oder BitBucket.
Erstellen eines Repositorys¶
Um ein git-Repository zu erstellen, stellen Sie sicher, dass Sie Zugriff auf einen git-Anbieter haben. Die beliebteste Möglichkeit, Zugriff auf einen git-fähigen Server zu erhalten, ist, sich mit einem auf der langen Liste der beliebten git-Anbieter zu registrieren.
Klonen (Download) ein Repository¶
GitHub bietet ausführliche Beschreibungen und Standardverfahren, um mit ihren Repositories zu arbeiten (mehr]). Das folgende “Rezept” führt zum ersten Mal zum Herunterladen von git Materialien
Öffnen Sie Ihren Favoriten git-fähige Befehlszeile:
Windows Optionen: PowerShell, Git Bash oder Command Prompt
Linux: Terminal
Clone the course repository (change materials according to the course attended):
git clone https://github.com/hydro-informatics/materials(or whatever repository you want to clone)
Fertig.
Pull (Update/Re-Download) a Local Repository¶
git (innerhalb Git Bash, PyCharm oder Terminal) ist die einzige Möglichkeit, lokale Kopien eines Remote-Repositorys konsequent zu aktualisieren. Dazu öffnen Sie eine der oben genannten git-fähigen Befehlszeilen und tun Sie die folgenden:
Go to the local directory of the repository with the
cdcommand (e.g.,materials):
cd "D:/Python/materials/"(or wherevermaterialswas cloned).git status- zeigt die Änderungen.Merge errors may occur when changes were made in the local copy. To avoid merge errors, type:
git pull --rebase- if locally edited scripts were modified remotely since the last pull, this will prompt issues and highlight problematic sections with>>>). Manually open concerned files and resolve the issues (delete invalid>>>highlights).git push
Fertig.
Aktualisieren eines Remote Repository (Push Local Changes)¶
Nach der Bearbeitung von Dateien in einem Repository lokal, add - commit - push (in dieser Reihenfolge) Ihre Bearbeitungen auf die entfernte Kopie des Repository mit Versionskontrolle. Um add - commit - push lokale Änderungen in einem Remote-Repository, stellen Sie sicher, dass der Remote-Repository-Besitzer oder ein Beitragszahler. Dann öffnen Sie ein git-fähiges Terminal und geben Sie:
git status- dies zeigt die vorgenommenen Änderungen.If the status looks OK with the consciously made changes, type
git add .
Optionally, if only single files were changed, usegit add filename.pyinstead. Best solution: use a local .gitignore file.Commit wechselt
git commit -m "Leave a message"- hinterlassen eine signifikante und präzise Kurznachricht.git pull --rebase- Wenn lokal bearbeitete Skripte seit dem letzten Zug abgewandelt wurden, wird dies Probleme aufwerfen und problematische Abschnitte mit>>>hervorheben. Betroffene Dateien manuell öffnen und die Probleme lösen (invalid>>>highlights löschen).git push
Wenn ein Fehler auftritt, lesen Sie sorgfältig, warum der Fehler aufgetreten ist und folgen Sie den Anweisungen zur Fehlerbehebung (z.B. zur Einrichtung Ihrer Benutzerkonfiguration mit git config --global user.email “email@example.com”). Sie können Warnmeldungen über Zeilenendformate (WARNING ... LF endet ...) für die meisten Anwendungen in diesem eBook ignorieren.