Wie man einen Remote Git Branch ohne Force Push oder Löschrechte neu schreibt
Автор: vlogize
Загружено: 2026-01-04
Просмотров: 0
Lernen Sie, wie Sie Ihre Git-Branches effektiv verwalten und aktualisieren, ohne Force Push-Berechtigungen oder das Löschen von Branches zu benötigen.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/62331157/ gestellt von dem Nutzer 'secretclean' ( https://stackoverflow.com/u/13046504/ ) sowie auf der Antwort https://stackoverflow.com/a/62331732/ bereitgestellt von dem Nutzer 'secretclean' ( https://stackoverflow.com/u/13046504/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: Rewriting remote git branch without force push or delete permissions
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Einführung
Die Verwaltung von Git-Branches kann sich manchmal wie ein Labyrinth anfühlen, besonders wenn Sie neu im Umgang mit Versionskontrollwerkzeugen wie Git und Azure DevOps sind. Eine häufige Herausforderung entsteht, wenn Sie einen Remote-Branch umschreiben möchten, aber auf Einschränkungen stoßen, wie z. B. fehlende Berechtigungen für Force Push oder das Löschen von Branches.
In diesem Blogbeitrag betrachten wir ein konkretes Szenario, in dem ein Entwickler sein Projekt vereinfachen wollte, indem er den gesamten Inhalt der master- und dev-Branches durch eine neue, effiziente Version seines Codes ersetzt hat. Die ursprünglichen Branches waren aufgrund früherer Uploads unübersichtlich, und Berechtigungseinschränkungen erschwerten die herkömmlichen Methoden. Lassen Sie uns tief eintauchen, wie man das erreicht!
Das Problem verstehen
Sie haben bereits bedeutende Fortschritte an Ihrem Programm gemacht, aber versehentlich unnötige Dateien hochgeladen, weil Sie vergessen haben, eine .gitignore zu verwenden.
Sie haben das Programm für eine höhere Effizienz umgeschrieben und möchten diese Änderungen nun in Ihre Remote-Branches dev und master pushen.
Dabei stoßen Sie auf Probleme wie:
Sie haben keine Berechtigung für einen Force Push oder zum Löschen des remote verfolgten Branches.
Git meldet, dass Sie veraltete Remote-Arbeiten pullen müssen, weigert sich aber zu mergen wegen "unrelated histories" (nicht zusammenhängenden Historien).
Schritt-für-Schritt Lösung
Um diese Hindernisse zu überwinden und Ihren Branch erfolgreich neu zu schreiben, ohne Berechtigungen für Force Push oder Branch-Löschungen zu benötigen, folgen Sie diesen detaillierten Schritten:
1. Sichern Sie Ihren lokalen Code
Bevor Sie Änderungen vornehmen, sollten Sie eine Sicherung Ihrer lokalen dev-Repository anlegen. So stellen Sie sicher, dass Sie eine sichere Kopie Ihrer aktuellen Arbeit haben, falls Sie zurückkehren müssen.
2. Klonen Sie das Remote-Repository lokal neu
Um frisch zu starten, klonen Sie das Remote-Repository auf Ihre lokale Maschine und richten Sie den dev-Branch korrekt ein:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
3. Pull mit dem Zusammenführen nicht zusammenhängender Historien
Nun, da Ihr lokaler dev-Branch eingerichtet ist, holen Sie die Änderungen vom Remote-Branch, wobei Git erlaubt wird, nicht zusammenhängende Historien zusammenzuführen. Dies erfolgt über die Option --allow-unrelated-histories:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Dieser Befehl erlaubt das Zusammenführen des aktuellen Branches mit dem Remote-Branch trotz unterschiedlicher Commit-Historien.
4. Ersetzen Sie die Remote-Dateien mit Ihrem lokalen Backup
Nachdem der Pull abgeschlossen ist, kopieren Sie die Dateien aus Ihrem lokalen Arbeitsverzeichnis in das geklonte Repository. Überschreiben Sie den bestehenden Inhalt im neuen dev-Branch mit den aktualisierten Dateien aus Ihrem Backup.
5. Committen Sie die Änderungen und pushen Sie sie
Nachdem Sie die Dateien ersetzt haben, fügen Sie diese dem Staging-Bereich hinzu, committen Ihre Änderungen und pushen sie zum Remote-dev-Branch:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Indem Sie diese Schritte befolgen, haben Sie Ihren Remote-dev-Branch erfolgreich neu geschrieben, ohne administrative Berechtigungen für Force Push oder das Löschen von Branches zu benötigen.
Fazit
Die Arbeit mit Git kann herausfordernd sein, vor allem wenn man mit bestimmten Beschränkungen wie fehlenden Berechtigungen arbeiten muss. Doch durch die strukturierte Anwendung der oben beschriebenen Schritte k
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: