Einführung
🧑💻 Neuer zu Git oder LabEx? Wir empfehlen, mit dem Kurs Quick Start with Git zu beginnen.
Git ist ein leistungsstarkes Versionskontrollsystem, das es Entwicklern ermöglicht, Änderungen an ihrer Codebasis zu verfolgen. Eine der wichtigsten Funktionen von Git ist die Möglichkeit, die Historie neu zu schreiben, was nützlich sein kann, wenn Sie Änderungen an früheren Commits vornehmen müssen. Allerdings kann das Neuschreiben der Historie zu Problemen führen, wenn Sie versuchen, Änderungen an einem Remote-Repository zu pushen. In diesem Lab werden Sie lernen, wie Sie einen Remote-Branch aktualisieren, nachdem Sie die Historie lokal geändert haben.
Remote-Branch aktualisieren, nachdem die Historie geändert wurde
Wenn Sie die Historie lokal ändern, erstellen Sie einen neuen Commit mit einem anderen SHA-1-Hash. Dies bedeutet, dass die Commit-Historie auf Ihrem lokalen Branch von der Commit-Historie auf dem Remote-Branch unterschiedlich ist. Wenn Sie versuchen, Ihre Änderungen an den Remote-Branch zu pushen, wird Git den Push ablehnen, da es die Commit-Historie als divergiert ansieht. Um dieses Problem zu lösen, müssen Sie eine Aktualisierung des Remote-Branchs erzwingen.
Um dieses Lab zu absolvieren, verwenden Sie das Git-Repository git-playground aus Ihrem GitHub-Konto, das von einem Fork von https://github.com/labex-labs/git-playground.git stammt.
- Klonen Sie das
git-playground-Repository auf Ihren lokalen Computer:
git clone https://github.com/your-username/git-playground.git
- Aktualisieren Sie einen Commit mit der Nachricht "Added file2.txt" zu einem Commit mit der Nachricht "Update file2.txt":
git commit --amend
- Pushen Sie Änderungen von Ihrem lokalen Branch zum Remote-Repository:
git push
- Wenn Sie es nicht erfolgreich pushen können, drücken Sie bitte mit Zwang:
git push -f origin master
Das -f-Flag zwingt Git, den Remote-Branch mit Ihren Änderungen zu aktualisieren, auch wenn die Commit-Historie divergiert ist.
Dies ist das Endresultat:
[object Object]
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie einen Remote-Branch aktualisieren, nachdem Sie die Historie lokal geändert haben. Mit dem Befehl git push -f können Sie Git zwingen, den Remote-Branch mit Ihren Änderungen zu aktualisieren, auch wenn die Commit-Historie divergiert ist. Es ist wichtig, diesen Befehl mit Vorsicht zu verwenden, da er Änderungen von anderen Entwicklern überschreiben kann.