Wie teilen mehrere Personen ein Git-Repository?
Ein Remote ist eine gemeinsame Kopie eines Git-Repositorys auf einem Server. Mit clone, push und pull holen und senden Sie Commits, sodass mehrere Personen am selben Projekt arbeiten.
Ein Team pflegt die Stundenpläne einer Schule. Jede Person arbeitet an ihrem Rechner und braucht doch denselben Stand. Der Server hält die gemeinsame Fassung.
Am Ende dieser Lektion
Notiz
Ich kann ein Repository klonen und Commits von einem Remote holen und dorthin senden.
Schlüsselbegriffe
| Begriff | Was er bedeutet |
|---|---|
| Remote | eine gemeinsame Kopie eines Repositorys auf einem Server |
| Klonen | ein Repository mit seinem ganzen Verlauf kopieren |
| Push | eigene Commits zum Remote senden |
| Pull | neue Commits vom Remote holen und übernehmen |
| origin | der übliche Name des Remotes, von dem geklont wurde |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Klon kopiert den ganzen Verlauf
Ein Remote ist die gemeinsame Kopie eines Repositorys auf einem Server wie Gitea. Mit git clone klonen Sie es: Sie erhalten jede Datei und jeden früheren Commit.
Der Gitea-Server des Labs hält ein Repository namens hello-git. Der erste Run klont es in einen Übungsordner kopie. Git merkt sich die Adresse unter dem Namen origin.
Das Repository nach kopie klonen
git clone http://gitea:3000/student/hello-git.git kopieHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Adresse des Remotes ansehen
git -C kopie remote -vHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Name und Nachricht jedes Commits lesen
git -C kopie --no-pager log --format="%an|%s"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Eigene Commits liegen erst nur bei Ihnen
Ein Commit im Klon ändert den Server nicht. Git zählt, wie viele Commits Sie voraus sind: Das sind Commits, die der Server noch nicht kennt. Mit git status -sb steht das in der ersten Zeile.
Sie speichern jetzt einen Commit mit einer eigenen Datei notizen.txt. Dieser Ordner dient nur zum Üben, Sie pushen ihn nicht.
Ihren Namen für diesen Ordner setzen
git -C kopie config user.name "Studierende"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ihre Adresse für diesen Ordner setzen
git -C kopie config user.email "[email protected]"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Eine Datei mit einer Notiz schreiben
printf 'Heute Plan pruefen\n' > kopie/notizen.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Notiz vormerken
git -C kopie add notizen.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Notiz als Commit speichern
git -C kopie commit -m "Notiz angelegt"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Den Status samt Abstand zum Remote lesen
git -C kopie status -sbHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Push sendet, Pull holt
git push sendet Ihre Commits zum Remote. Der Server lehnt den Push ab, wenn dort Commits stehen, die Sie nicht haben. Dann holen Sie diese zuerst.
git pull holt neue Commits vom Remote und führt sie in Ihren Branch ein. Gibt es nichts Neues, meldet Git das.
Neue Commits vom Remote holen
git -C kopie pullHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Irrtum
Warnung
Viele glauben, ein Commit sei sofort beim ganzen Team. Ein Commit liegt zuerst nur bei Ihnen. Erst git push sendet ihn zum Remote, und erst git pull bringt die Commits anderer zu Ihnen.