Ich mache ein Schulprojekt mit meinen Klassenkameraden, und einer von ihnen hat die Hauptsache des Programms gebrochen und er schiebt es nach GitHub. Ich habe das Projekt ohne das Haupt modifiziert und es funktioniert einwandfrei. Gibt es irgendeine Möglichkeit, so kann ich meine Dateien schieben, ohne den Zug zu machen, und die schlechten durch meine ersetzen?Git schieben ohne ziehen
Antwort
Wenn der andere Entwickler relevante Änderungen vorgenommen hat, sollten Sie sie nicht einfach löschen, sondern beide Änderungen zusammenführen.
Die beste Lösung, vorausgesetzt, der Entwickler hat andere sinnvolle Änderungen vorgenommen, besteht darin, die Konflikte zu lösen und den fehlerhaften Code zu reparieren.
Verschieben Sie sie von Ihren divergenten Commits in einen neuen Zweig, und führen Sie sie anschließend wieder in Master - Konfliktlösungskonflikte ein.
# Create a new branch with your commits
git checkout -b featureBranch
# Get master from origin
git checkout master
git pull origin master
# Add in your changes
git merge featureBranch
# Resolve Conflicts
# Push to origin
git push origin master
Wenn Sie seine Commits wollen wirklich nur löschen (, die ich schlage vor, Sie nicht tun), können Sie einfach Ihre Push zwingen - dieses alles mit, was Sie auf dem Server überschreiben Habe auf deiner Maschine.
Jeder andere Entwickler, der an dem Projekt arbeitet, muss zusätzliche Aktionen an diesem Ende ausführen, da Sie jetzt die Historie ändern; Dies wird nicht empfohlen.
git push origin master --force
Es gibt auch ein Verfahren revert
; Dadurch wird ein neues Commit erstellt, das die Änderungen eines ausgewählten Commits vollständig umkehrt. Um dies zu nutzen, benötigen Sie zuerst einen sauber arbeitenden Baum.
# Move your commits to a new branch
git checkout -b featureBranch
# Get latest changes from master
git checkout master
git pull origin master
# Create new commit that reverses the other devs changes
git revert hashToRevert
# Pull in your additional commits
git merge featureBranch
# Push to master
git push origin master
Sie können sich wahrscheinlich git revert
Befehl verwenden, um das Commit zurück. Dies wird tun begehen ein neues, dass rückgängig macht alle von diesem vorherigen Änderungen verpflichten, Dokumentation here:
Der git zufällt Befehl einen engagierten Snapshot rückgängig macht. Aber anstelle von Entfernen der Festschreibung aus dem Projektverlauf, es herauszufinden, wie die Änderungen durch die Festschreibung rückgängig gemacht werden und hängt eine neue Festschreibung mit dem resultierenden Inhalt.
Sobald Sie fertig sind, können Sie Ihre eigenen Änderungen zusätzlich zum Zurücksetzen Commit schieben.
- 1. Git Sandbox für jedermann zu ziehen/schieben?
- 2. Git Workflow, TortoiseGit, ziehen und schieben
- 3. Wie Rollback nach Git ziehen
- 4. Git-Pull aber nie Datei schieben
- 5. Git schieben bei 99% stecken
- 6. git ziehen VS git holen git rebase
- 7. Git kann nicht ziehen
- 8. Git ziehen Bilddateien ignorieren
- 9. Detailänderung nach Git ziehen
- 10. Git Spiegel ziehen Modell
- 11. Git zum Index ziehen
- 12. Fehler beim von Remote-Git-Repository ziehen
- 13. Git automatisch ziehen mit Cronjob
- 14. Drücken und Ziehen von Zweigen in Git
- 15. git commit count ohne den Zweig zu ziehen
- 16. Fehler Git beim Schieben auf Heroku
- 17. Copy git-Repository Offline-Maschine und Schieben/Ziehen über Memory-Stick
- 18. Git ziehen cygwin nicht ein git-Befehl
- 19. GitLab CI: Git ziehen statt Git Klon
- 20. Git schlägt auf ftp-server zu schieben
- 21. Ich kann nicht auf Git schieben?
- 22. Unterordner eines Repositorys in Git schieben?
- 23. Fehler auf Git schieben Heroku Master
- 24. Git und Bitbucket ohne SSH
- 25. Kann nicht git subtree ziehen
- 26. Git Fehler beim Zusammenführen/ziehen
- 27. Einen Git ziehen Pull --rebase
- 28. Prompt Nachricht vor Git ziehen
- 29. Git: Ziehen eines umbasiert Zweig
- 30. Kein "Ziehen" in Git Gui?