Ich habe zwei Zweige A und B. Ich möchte A mit B zusammenführen. Ich lief git fetch
Befehl irrtümlich. Ich möchte es rückgängig machen. Gibt es einen Befehl dazu?Undo Abruf Befehl beim Zusammenführen von Zweigen
Antwort
Es ist difficult1 auf „Rückgängig“ ein git holen, aber es gibt keinen Grund never2 ein git holen rückgängig machen zu müssen.
Denken Sie daran, was git fetch ist, rufen Sie die remote auf, rufen Sie eine Liste von Branch-Name zu SHA-1-Mappings, bringen Sie Commits und andere Objekte, die Sie in Ihrem Repository speichern müssen, und aktualisieren Sie dann Remote-Tracking von Zweigstellen, so dass sie auf die aktuelle Zweigstelle (ab dem Zeitpunkt, an dem Sie gerade angerufen haben) auf Zweigstellen-Tipps zeigen. Dies hat keine Auswirkungen auf Ihre Arbeitsbaumdateien, und wenn Sie morgen git fetch erneut ausführen, kann jede heute ausgeführte Arbeit morgen übersprungen werden. Wenn du es schaffst, den Abruf rückgängig zu machen, muss der eine Lauf morgen die Arbeit, die heute erledigt wird, wiederholen, also ist das ein Nettoverlust: du hast nur etwas Mühe investiert, damit dein Gitarrist morgen mehr Code über das Netzwerk bringen muss .
Das sagte, Zeit für Fußnoten. :-)
1Es ist nicht so schwierig, wenn Sie Remote-Reflogs haben (was Sie wahrscheinlich tun): Verwenden Sie die Remote-Reflogs, um Remote-Tracking-Zweige zu finden, die im letzten Abruf aktualisiert wurden - diese Informationen sind möglicherweise auch noch verfügbar die Datei FETCH_HEAD - und verwenden Sie dann git update-ref, um diese Referenzen auf ihre vorherigen Reflog-Einträge zu verweisen. Aber damit bleiben die geholten Objekte in Ihrem Repository. Um sie wirklich zu löschen, müssen Sie dann auch die Zwischen-Reflog-Einträge löschen und dann git gc --prune = now ausführen, was sehr viel Sorgfalt erfordert und alles verwerfen wird nicht referenzierte Objekte, nicht nur solche, die vom letzten Abruf mitgebracht wurden.
2Ich denke, man könnte argumentieren, dass "knapper Speicherplatz auf der Festplatte" ein Grund dafür sein könnte, insbesondere wenn ein großes Objekt versehentlich zur Fernbedienung geschoben wurde und beim nächsten Abruf von der Fernbedienung entfernt wird. Das Arbeiten in einem Dateisystem, das nicht über genügend Platz verfügt, ist jedoch im Allgemeinen schwierig und ich bin mir nicht sicher, ob ich hier viel anderes tun möchte, als das gesamte Repository an einen anderen Ort zu verschieben (irgendwo ohne Probleme mit dem Speicherplatz).
- 1. Verlauf beim Zusammenführen von Subversion-Zweigen beibehalten
- 2. Tipps zum Zusammenführen großer Änderungen zwischen Zweigen
- 3. howto verwenden "No Fast Forward" -Flag beim Zusammenführen von Zweigen in git mit IDEA
- 4. Fehler beim Abruf beim Hinzufügen von Labels
- 5. Warum ist das Zusammenführen von Feature-Zweigen in Release-Zweigen eine schlechte Idee?
- 6. undo "git filter-branch ... --all"? in einem Befehl?
- 7. Wie kann ich Jenkins auslösen, die beim Zusammenführen von GitHub-Zweigen entstehen?
- 8. GitHub Fluss beim Löschen von Remote-Zweigen
- 9. Git undo Last commit
- 10. Mercurial: Zusammenführen einer Datei zwischen Zweigen in einem Repo
- 11. Undo
- 12. Zwei Netzwerk alle für einen Abruf Befehl
- 13. Was ist besser ziehen oder Zusammenführen zu Zweigen auf GitHub
- 14. Fehler beim Abruf während „dieser“
- 15. Zusammenführen von Debug-Informationen beim Zusammenführen von statischen Bibliotheken
- 16. Verschmelzung Konflikte zwischen Zweigen beim Zusammenführen zu qc und Master separat
- 17. Undo schnell git vorwärts
- 18. Orakel-Undo Tablespaces
- 19. Undo git checkout --orphan
- 20. git verlor Änderungen beim Hin und Her zwischen zwei Zweigen
- 21. Verzeichnisvergleich von Git-Zweigen
- 22. Git Merge Probleme von mehreren Zweigen
- 23. Git Workflow: Zusammenführen von Zweigen unter Vermeidung von wiederholten Commit-Nachrichten
- 24. Zusammenführen von Zweigen nach dem Verschieben von Dateien in ein anderes Verzeichnis
- 25. undo sp_recompile
- 26. Git warnt mich nicht über Änderungen beim Umschalten von Zweigen
- 27. Git: behalten Sie ignorierte Dateien beim Umschalten von Zweigen
- 28. TFS 2010 und 2015 wirklich langsam beim Löschen von Zweigen
- 29. GIT: Wie ignoriere ich Dateien beim Wechseln von Zweigen?
- 30. einen Fehler beim Abruf mit INNER JOIN
Es gibt keine Notwendigkeit, jeden 'git fetch' rückgängig zu machen, da dies nie etwas beeinflusst * Sie * arbeiten, bringt es nur in von * jemand verpflichtet sonst *. – torek
Warum denken Sie, dass Sie den Abruf rückgängig machen müssen? Welches Problem versuchen Sie zu lösen? –
Ist einer Ihrer beiden Zweige 'A' oder' B' eine entfernte Niederlassung? – LeGEC