Ich löschte nur den falschen Zweig mit einigen experimentellen Änderungen, die ich brauche mit git branch -D branchName
.Git rückgängig lokalen Zweig löschen
Wie stelle ich die Verzweigung wieder her?
Ich löschte nur den falschen Zweig mit einigen experimentellen Änderungen, die ich brauche mit git branch -D branchName
.Git rückgängig lokalen Zweig löschen
Wie stelle ich die Verzweigung wieder her?
Sie können git reflog verwenden, um den SHA1 des letzten Commits der Verzweigung zu finden. Von diesem Punkt können Sie einen Zweig mit
git branch branchName <sha1>
bearbeiten neu: Wie @seagullJS sagt der branch -D
Befehl Sie den SHA1 sagt, also, wenn Sie nicht das Terminal geschlossen haben noch wird es wirklich einfach. Zum Beispiel löscht diese und dann wieder sofort ein Zweig namens master2
:
[email protected] /C/MyRepo (master)
$ git branch -D master2
Deleted branch master2 (was 130d7ba). <-- This is the SHA1 we need to restore it!
[email protected] /C/MyRepo (master)
$ git branch master2 130d7ba
Git sagt Ihnen, was der SHA1 war, wenn der Zweig gelöscht wird. Wenn Sie ihn also einfach löschen, kann es nur ein paar Zeilen in der Befehlszeile sein. – seagullJS
Danke, das hat mir Arbeitsstunden erspart! FYI benutze git reflog, um die
Vielen Dank zu bekommen, fand ich meine "verlorenen" Dateien! – inix
Erstens: Sichern Sie Ihr gesamtes Verzeichnis, einschließlich dem .git Verzeichnis.
Zweitens: Sie können git fsck --lost-found
verwenden, um die ID der verlorenen Commits zu erhalten.
Drittens: Rebase oder Merge auf die verlorene Festschreibung.
Viertens: Immer zweimal überlegen, bevor -D oder --force mit git verwenden :)
Sie könnte auch read this good discussion, wie aus dieser Art von Fehlern zu erholen.
EDIT: Übrigens, führen Sie nicht git gc
(oder lassen Sie es von selbst laufen - d. H. Nicht git fetch
oder etwas ähnliches laufen) oder Sie können Ihre Commits für immer verlieren.
Wenn Sie noch nicht die Löschung noch drücken, können Sie einfach tun:
$ git checkout deletedBranchName
Diese Antwort lässt Git Extensions den Mund halten, "der Zweig, den Sie zu schieben versuchen, scheint ein neuer Zweig für diese Fernbedienung zu sein." Danke vielmals. – Omer
Wenn Sie nur den Zweig gelöscht, Sie so etwas wie dies in Ihrem Terminal sehen:
Deleted branch branch_name(was e562d13)
- wo e562d13 eine eindeutige ID ist (auch bekannt als "SHA" oder "Hash"), mit der Sie den gelöschten Zweig wiederherstellen können.
den Zweig, den Einsatz wieder her:
git checkout -b <branch_name> <sha>
zum Beispiel:
git checkout -b branch_name e562d13
Danke, arbeitete diese.
git branch new_branch_name
sha1
git Kasse new_branch_name
// kann meine alten eingecheckten Dateien in meinem alten Zweig
froh zu wissen, ich bin nicht der einzige lame- sehen o Wer hat das getan (und vergessen, regelmäßig eine Kopie zu kopieren) – Ray
das macht 3 von uns jetzt –