Kann ich einen Zweig nach dem Löschen in Git wiederherstellen?

1066

Gibt git branch -d XYZes eine Möglichkeit, den Zweig wiederherzustellen, wenn ich ausgeführt werde ? Gibt es eine Möglichkeit, zurück zu gehen, als hätte ich den Befehl delete branch nicht ausgeführt?

prosseek
quelle
4
Eine wirklich tolle Anmerkung zu der akzeptierten Antwort ist, dass sie auch dann funktioniert, wenn der Zweig im Ursprung gelöscht wurde! Ich habe gerade einige Zweige wiederhergestellt, die ich lokal nicht mehr hatte, nachdem sie versehentlich im Ursprung gelöscht wurden.
Theblang

Antworten:

1955

Ja, Sie sollten in der Lage sein, git reflogden SHA1 für das Commit an der Spitze Ihres gelöschten Zweigs zu finden git checkout [sha]. Und sobald Sie bei diesem Commit sind, können Sie git checkout -b [branchname]den Zweig einfach von dort aus neu erstellen.


Dank an @Cascabel für diese komprimierte / einzeilige Version.

Sie können es in einem Schritt tun:

git checkout -b <branch> <sha>
tfe
quelle
477
Sie können dies in einem Schritt tun : git checkout -b <branch> <sha>.
Cascabel
200
Kurztipp - Wenn Sie gerade den Zweig gelöscht haben, wird in Ihrem Terminal Folgendes angezeigt: "Zweig <Ihre Zweigstelle> gelöscht (war <sha>)". Und dann ist es super einfach - nutzen Sie das einfach <sha>. ZB wie oben erwähnt -git checkout -b <branch> <sha>
Snowcrash
6
Ja, scrollen Sie einfach in Ihrem Terminal nach oben (es sei denn, Sie haben es getan CMD+K)
neaumusic
42
Verwenden Sie git reflog --no-abbrevdiese Option , um die vollständige <sha>Abkürzung anzuzeigen, die standardmäßig abgekürzt wird.
Jkulak
5
Für alle anderen wie mich, die Probleme hatten, den sha des gelöschten Zweigs zu finden: Ich konnte git checkout remotes/origin/deleted_branch.
Jeff Irwin
161

Die meisten unerreichbaren Commits befinden sich im Reflog. So ist das erste , was zu versuchen , am reflog suchen mit dem Befehl git reflog(der die reflog Anzeige für HEAD).

Wenn das Festschreiben Teil eines bestimmten noch vorhandenen Zweigs war, ist es möglicherweise einfacher, den Befehl zu verwenden git reflog name-of-my-branch. Es funktioniert auch mit einer Fernbedienung, zum Beispiel, wenn Sie einen erzwungenen Druck ausüben (zusätzlicher Rat: Ziehen Sie stattdessen immer vor git push --force-with-lease, dass Fehler besser vermieden werden und besser wiederhergestellt werden können).


Wenn sich Ihre Commits nicht in Ihrem Reflog befinden (möglicherweise weil sie von einem Drittanbieter-Tool gelöscht wurden, das nicht in das Reflog schreibt), habe ich einen Zweig erfolgreich wiederhergestellt, indem ich meinen Zweig mit einem solchen Befehl auf den sha des Commits zurückgesetzt habe erstellt eine Datei mit allen baumelnden Commits):

git fsck --full --no-reflogs --unreachable --lost-found | grep commit | cut -d\  -f3 | xargs -n 1 git log -n 1 --pretty=oneline > .git/lost-found.txt

Wenn Sie es mehrmals verwenden sollten (oder es irgendwo speichern möchten), können Sie mit diesem Befehl auch einen Alias ​​erstellen ...

git config --global alias.rescue '!git fsck --full --no-reflogs --unreachable --lost-found | grep commit | cut -d\  -f3 | xargs -n 1 git log -n 1 --pretty=oneline > .git/lost-found.txt'

und benutze es mit git rescue

Um gefundene Commits zu untersuchen, können Sie jedes Commit mithilfe einiger Befehle anzeigen, um sie zu untersuchen.

So zeigen Sie die Festschreibungsmetadaten an (Autor, Erstellungsdatum und Festschreibungsnachricht):

git cat-file -p 48540dfa438ad8e442b18e57a5a255c0ecad0560

Um auch die Unterschiede zu sehen:

git log -p 48540dfa438ad8e442b18e57a5a255c0ecad0560

Wenn Sie Ihr Commit gefunden haben, erstellen Sie einen Zweig für dieses Commit mit:

git branch commit_rescued 48540dfa438ad8e442b18e57a5a255c0ecad0560

Für diejenigen, die unter Windows arbeiten und GUIs mögen, können Sie Commits (und auch nicht festgeschriebene bereitgestellte Dateien) mit GitExtensions mithilfe der Funktion Repository=> Git maintenance=> problemlos wiederherstellenRecover lost objects...


Ein ähnlicher Befehl zum einfachen Wiederherstellen von gelöschten bereitgestellten Dateien: https://stackoverflow.com/a/58853981/717372

Philippe
quelle
2
Riesige Hilfe. Ich hatte ein verlorenes Commit, das nie in meinem lokalen Repo war. Der erste Befehl, den Sie dort oben haben, hat mir geholfen, ihn auf dem Server zu finden. +1
Sean Adkinson
1
Dieser Git Rescue Alias ​​ist ein Glücksfall !!! Vielen Dank für Ihren Beitrag!
72A12F4E
2
Du hast mein Leben gerettet.
Jed Lynch
Die Antwort von Patrick Koorevaar hat mir geholfen, da ich meine zuletzt gelöschten verzweigten Commits <sha> nicht kenne.
Monir Khan
@ Monir-Khan Und? Was soll ich daraus schließen? Die Antwort von Patrick ist nur ein Kopieren / Einfügen meines Befehls (mit einem Fehler: Er hat vergessen, nach Commits zu filtern) ...
Philippe
45

Wenn Sie eine GUI verwenden möchten, können Sie den gesamten Vorgang mit gitk ausführen.

gitk --reflog

Auf diese Weise können Sie den Festschreibungsverlauf des Zweigs anzeigen, als wäre der Zweig nicht gelöscht worden. Klicken Sie nun einfach mit der rechten Maustaste auf das letzte Commit für den Zweig und wählen Sie die Menüoption Create new branch.

kein Balken
quelle
28

Die am besten gewählte Lösung bietet tatsächlich mehr als gewünscht:

git checkout <sha>
git checkout -b <branch>

oder

git checkout -b <branch> <sha>

Verschieben Sie Sie zusammen mit allen letzten Änderungen, die Sie möglicherweise vergessen haben, zu übernehmen, in den neuen Zweig. Dies ist möglicherweise nicht Ihre Absicht, insbesondere wenn Sie sich nach dem Verlust des Zweigs im "Panikmodus" befinden.

Eine sauberere (und einfachere) Lösung scheint der Einzeiler zu sein (nachdem Sie die <sha>mit gefunden haben git reflog):

git branch <branch> <sha>

Jetzt sind weder Ihre aktuelle Niederlassung noch nicht festgeschriebene Änderungen betroffen. Stattdessen wird nur ein neuer Zweig bis zum erstellt <sha>.

Wenn es nicht der Tipp ist, funktioniert es immer noch und Sie erhalten einen kürzeren Zweig. Sie können es dann mit einem neuen <sha>und neuen Zweignamen wiederholen, bis Sie es richtig verstanden haben.

Schließlich können Sie den erfolgreich wiederhergestellten Zweig in den Namen oder einen anderen Namen umbenennen:

git branch -m <restored branch> <final branch>

Unnötig zu erwähnen, dass der Schlüssel zum Erfolg darin bestand, das richtige Commit zu finden. Nennen Sie <sha>Ihre Commits also mit Bedacht :)

Dmitri Zaitsev
quelle
14

Zusätzlich zu TFE Antwort : auch das ist git-resurrect.sh im Skript contrib/Bereich der Git - Quellen (in git.git Repository), die Ihnen helfen können.

git-resurrect <name>versucht, Spuren einer aufgerufenen Astspitze zu finden <name>und sie wiederzubeleben. Derzeit wird das Reflog nach Checkout-Nachrichten und -rZusammenführungsnachrichten durchsucht . Mit -mund -twird der Verlauf aller Refs nach Merge <name> into other/ Merge <other> into <name>(bzw.) Commit-Themen durchsucht. Dies ist ziemlich langsam, ermöglicht es Ihnen jedoch, die Themenzweige anderer Personen wiederzubeleben.

Jakub Narębski
quelle
1
Es funktionierte jetzt für mich, obwohl ich / usr / lib / git-core / zu meinem PATH hinzufügen musste. Aber es hat nicht das Wunder vollbracht, auf das ich gehofft hatte :(
AmanicA
10

Ich habe die folgenden Befehle verwendet, um meinen gelöschten Zweig zu finden und abzurufen. Die ersten Schritte stammen aus der Beschreibung von gcb.

$ git fsck --full --no-reflogs --unreachable --lost-found > lost
$ cat lost | cut -d\  -f3 > commits
$ cat commits | xargs -n 1 git log -n 1 --pretty=oneline

Suchen Sie nun anhand der Commit-Kommentare nach der Git-Commit-ID (GIT-SHA) und verwenden Sie sie im folgenden Befehl. Kasse einer neuen Filiale namens NEW-BRANCH mit dem zuvor gefundenen GIT-SHA:

$ git checkout -b NEW-BRANCH GIT-SHA
Patrick Koorevaar
quelle
Vielen Dank. Es hat ein wenig gedauert, den Namen zu suchen, aber die Zeit hat sich gelohnt. Wenn es eine Möglichkeit gibt, auch nach Commit-Nachrichten zu suchen, wäre dies viel besser.
Monir Khan
9

Wenn Sie kein Reflog haben, z. Da Sie in einem nackten Repository arbeiten, in dem das Reflog nicht aktiviert ist und das Commit, das Sie wiederherstellen möchten, kürzlich erstellt wurde, besteht eine weitere Option darin, kürzlich erstellte Commit-Objekte zu finden und diese zu durchsuchen.

Aus dem .git/objectsVerzeichnis heraus ausführen:

find . -ctime -12h -type f | sed 's/[./]//g' | git cat-file --batch-check | grep commit

Dadurch werden alle Objekte (Commits, Dateien, Tags usw.) gefunden, die in den letzten 12 Stunden erstellt wurden, und gefiltert, um nur Commits anzuzeigen. Das Überprüfen dieser ist dann ein schneller Prozess.

Ich würde jedoch zuerst das in Jakubs Antwort erwähnte Skript git-ressurect.sh ausprobieren .

Robert Knight
quelle
1
Schöne alternative Idee! Ihr Befehl gibt jedoch einen Fehler aus. Das Problem ist mit dem "12h" Teil (eigentlich dem "h"). Sobald ich das "h" entfernt hatte, funktionierte es in Ordnung. Von man find: "-ctime n - Der Status der Datei wurde zuletzt vor n * 24 Stunden geändert." Wir sollten also auch 12 auf 0,5 ändern, um das erwartete Verhalten der letzten 12 Stunden zu erreichen.
Pagliuca
1
Ich verwende hier OS X 10.8, daher basieren die obigen Suchflags auf der Version, die im Lieferumfang enthalten ist.
Robert Knight
1
Ja, sicher liegt das Problem bei den Versionen! Deshalb habe ich Ihre Antwort an erster Stelle positiv bewertet! Ich habe es nur kommentiert, damit die Leute erkennen, dass die Parameter unterschiedlich sein können.
Pagliuca
9

Für GitHub- Benutzer ohne installierten Git:

Wenn Sie es von der GitHub- Website wiederherstellen möchten , können Sie deren API verwenden , um eine Liste der Repo-bezogenen Ereignisse abzurufen:

Zuerst

  • Finden Sie diese SHAs (Commit-Hashes):

    curl -i https://api.github.com/repos/PublicUser/PublicRepo/events

    ... oder für private Repos:

    curl -su YourUserName https://api.github.com/repos/YourUserName/YourProject/events

    (wird zur Eingabe des GitHub-Passworts aufgefordert)

    • (Wenn für das Repo eine Zwei-Faktor-Authentifizierung erforderlich ist, lesen Sie die Kommentare zu dieser Antwort weiter unten.)

Nächster

  • Gehen Sie zu GitHub und erstellen Sie einen neuen temporären Zweig, der für immer gelöscht wird ( Chrome ist vorzuziehen).

   • Gehen Sie zu Zweigen und löschen Sie diesen.

   •   Öffnen Sie auf derselben Seite ohne erneutes Laden das Bedienfeld DevTools, Netzwerk. Jetzt vorbereiten ...

   • Klicken Sie auf Wiederherstellen. Sie werden eine neue "Linie" bemerken. Klicken Sie mit der rechten Maustaste darauf und wählen Sie "Als cURL kopieren" und speichern Sie diesen Text in einem Editor.

   • Fügen Sie am Ende der kopierten Codezeile Folgendes hinzu : -H "Cookie=".

Sie sollten jetzt etwas bekommen wie:

    curl 'https://github.com/UserName/ProjectName/branches?branch=BranchSHA&name=BranchName' -H 'Cookie:' -H 'Origin: https://github.com' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US' -H 'User-Agent: User-Agent' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Accept: */*' -H 'Referer: https://github.com/UserName/ProjectName/branches' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data 'utf8=%E2%9C%93&authenticity_token=token' --compressed

Letzter Schritt

  • Ersetzen Sie "BranchSHA" durch Ihren SHA-Hash und BranchName durch den gewünschten Namen (übrigens ist es ein guter Hack, Branch aus dem Web umzubenennen). Wenn Sie nicht zu langsam waren, müssen Sie diese Anfrage trotzdem stellen. Zum Beispiel einfach kopieren und in ein Terminal einfügen.

PS

Mir ist klar, dass dies möglicherweise nicht die "einfachste Lösung" oder die "richtige" Lösung ist, aber es wird angeboten, falls jemand es nützlich findet.

Maxim Mazurok
quelle
1
Das Obige ist eines der wenigen, auf das man sich nicht verlassen kann git reflogund das daher nützlich war, wenn beispielsweise ein Remote-Zweig gelöscht und der Zugriff auf den Computer verloren wurde, von dem aus nichts Nützliches erkältet werden konnte reflog. Beachten Sie, dass bei Verwendung der OAuth- oder Zwei-Faktor-Authentifizierung auf Github der curlBefehl die folgende Form hat: curl -u username:token https://api.github.com/userodercurl -H "Authorization: token TOKEN" https://api.github.com/repos/USER_OR_ORG_NAME/REPO_NAME/events
TT--
@ TT-- wow, ich bin froh, dass es geholfen hat! und danke für deinen Beitrag bezüglich auth token :)
Maxim Mazurok
8

Wenn der zu löschende Zweig von einem anderen Zweig erreicht werden kann, können Sie ihn meines Wissens sicher mit löschen

git branch -d [branch]

und deine Arbeit geht nicht verloren. Denken Sie daran, dass ein Zweig kein Schnappschuss ist, sondern ein Zeiger auf einen. Wenn Sie also einen Zweig löschen, löschen Sie einen Zeiger.

Sie verlieren nicht einmal Arbeit, wenn Sie einen Zweig löschen, der von einem anderen nicht erreicht werden kann. Natürlich ist es nicht so einfach wie das Auschecken des Commit-Hashs, aber Sie können es trotzdem tun. Aus diesem Grund kann Git keinen Zweig löschen, der mit nicht erreicht werden kann -d. Stattdessen müssen Sie verwenden

git branch -D [branch]

Dies ist Teil eines unverzichtbaren Videos von Scott Chacon über Git. Überprüfen Sie Minute 58:00, wenn er über Zweige spricht und wie sie gelöscht werden.

Einführung in Git mit Scott Chacon von GitHub

fabiopagoti
quelle
7
Wie hilft das, die Frage zu beantworten?
Dmitri Zaitsev
6
Dem Fragesteller mitteilen, dass Zweige keinen Inhalt enthalten, sondern tatsächlich Zeiger sind. Sie müssen keine Angst haben, Zweige zu löschen. Sie können neue Zweige erstellen, die auf dasselbe Commit wie das gelöschte verweisen. Wow! Ich erinnere mich noch, als ich diese Frage stellte. Gute Zeiten zurück bis 2012!
Fabiopagoti
1
Musste drei Bildschirme scrollen, um endlich eine Antwort zu finden, die das Problem behebt: Das Löschen eines Zweigs löscht nur einen Zeiger. Hier gibt es keine Datenverlustsituation. Das einzige, was wiederhergestellt werden muss, ist, wohin es zeigt. Antworten, die direkt zu gehen, reflogsind einfach übertrieben.
RomainValeri
5

Stellen Sie sicher, dass Sie dies alles lokal ausführen, und vergewissern Sie sich, dass sich Ihr Repo in dem gewünschten Zustand befindet, bevor Sie zu Bitbucket Cloud wechseln. Es kann auch eine gute Idee sein, Ihr aktuelles Repo zu klonen und diese Lösungen zuerst zu testen.

  1. Wenn Sie gerade den Zweig gelöscht haben, wird in Ihrem Terminal Folgendes angezeigt:
    Deleted branch <your-branch> (was <sha>)

2.Um den Zweig wiederherzustellen, verwenden Sie:

    git checkout -b <branch> <sha>

Wenn Sie das 'sha' auf der Oberseite Ihres Kopfes nicht kennen, können Sie:

  1. Suchen Sie das 'sha' für das Commit an der Spitze Ihres gelöschten Zweigs mit:
    git reflog
  1. Verwenden Sie zum Wiederherstellen des Zweigs:
    git checkout -b <branch> <sha>

Wenn Ihre Commits nicht in Ihrem Reflog enthalten sind:

  1. Sie können versuchen, einen Zweig wiederherzustellen, indem Sie Ihren Zweig mit einem Befehl wie dem folgenden auf den sha des gefundenen Commits zurücksetzen:
    git fsck --full --no-reflogs --unreachable --lost-found | grep commit | cut -d\  -f3 | xargs -n 1 git log -n 1 --pretty=oneline > .git/lost-found.txt

2.Sie können dann jedes Commit mit einer der folgenden Optionen anzeigen:

    git log -p <commit>
    git cat-file -p <commit>
uyghurbeg
quelle
4

Um einen gelöschten Zweig wiederherzustellen, gehen Sie zunächst den Reflog-Verlauf durch.

git reflog -n 60

Wobei n sich auf die letzten n Commits bezieht. Dann finden Sie den richtigen Kopf und erstellen Sie einen Zweig mit diesem Kopf.

git branch testbranch HEAD@{30}
sajin tm
quelle
4

Ich habe einen Zweig von der Fernbedienung neu gestartet, um zu versuchen, ein paar Commits zu löschen, die ich nicht wollte, und wollte die richtigen auswählen, die ich wollte. Natürlich habe ich die SHAs falsch geschrieben ...

Hier ist, wie ich sie gefunden habe (meistens eine einfachere Schnittstelle / Interaktion von Dingen auf Antworten hier):

Generieren Sie zunächst eine Liste mit losen Commits in Ihrem Protokoll. Tun Sie dies so schnell wie möglich und hören Sie auf zu arbeiten, da diese möglicherweise vom Müllsammler entsorgt werden.

git fsck --full --no-reflogs --unreachable --lost-found > lost

Dadurch wird eine lostDatei mit allen Commits erstellt, die Sie anzeigen müssen. Um unser Leben zu vereinfachen, schneiden wir nur die SHA daraus:

cat lost | cut -d\  -f3 > commits

Jetzt haben Sie eine commitsDatei mit allen Commits, die Sie suchen müssen.

Angenommen, Sie verwenden Bash, der letzte Schritt:

for c in `cat commits`; do  git show $c; read; done

Dies zeigt Ihnen die Diff- und Commit-Informationen für jeden von ihnen. Und warten Sie, bis Sie drücken Enter. Schreiben Sie nun alle gewünschten auf und wählen Sie sie aus. Wenn Sie fertig sind, drücken Sie einfach Strg-C.

gcb
quelle
1

Gehen Sie zuerst zu git batch, um zu Ihrem Projekt zu wechseln, wie:

cd android studio project
cd Myproject
then type :
git reflog

Sie alle haben eine Liste der Änderungen und die Referenznummer nehmen Sie die Ref-Nummer und
checken Sie dann aus Android Studio oder von der Git Betcha. eine andere lösung nimm die ref nummer und gehe zu android studio klicke auf git branchs down und dann auf checkout tag oder revision nach der referenznummer dann lol du hast die branches.

FAHAD HAMMAD ALOTAIBI
quelle
1

Wenn Sie die Antwort von tfe ergänzen, können Sie mit diesem erwähnten Prozess eine Wiederherstellung durchführen, es sei denn, die Commits werden nicht durch Müll gesammelt. Der Git-Zweig ist einfach ein Zeiger auf ein bestimmtes Commit im Commit-Baum. Wenn Sie jedoch den Zeiger löschen und die Commits in diesem Zweig nicht mit einem anderen vorhandenen Zweig zusammengeführt werden, behandelt git ihn als baumelnde Commits und entfernt sie während der Speicherbereinigung, die möglicherweise automatisch regelmäßig ausgeführt wird.

Wenn Ihr Zweig nicht mit einem vorhandenen Zweig zusammengeführt wurde und wenn Müll gesammelt wurde, verlieren Sie alle Commits bis zu dem Punkt, an dem der Zweig von einem vorhandenen Zweig getrennt wurde.

Rajeshwar Agrawal
quelle
1

Ein verwandtes Problem: Ich bin auf diese Seite gekommen, nachdem ich nach "Wie man weiß, was gelöschte Zweige sind" gesucht habe.

Beim Löschen vieler alter Zweige hatte ich das Gefühl, versehentlich einen der neueren Zweige gelöscht zu haben, wusste aber nicht, wie ich ihn wiederherstellen sollte.

Gehen Sie wie folgt vor, um zu erfahren, welche Zweige kürzlich gelöscht wurden:

Wenn Sie zu Ihrer Git-URL gehen, sieht diese ungefähr so ​​aus:

https://your-website-name/orgs/your-org-name/dashboard

Dann können Sie den Feed sehen, was von wem in der jüngeren Vergangenheit gelöscht wurde.

Manohar Reddy Poreddy
quelle
Sicher. Die obige Antwort ist für GitHub. Wir haben GitHub lokal installiert. Vielen Dank für Ihre Frage.
Manohar Reddy Poreddy
1

Ich habe dies auf dem Computer gemacht, auf dem ich den Zweig lösche:

git reflog

Antwort:

74b2383 (develope) HEAD@{1}: checkout: moving from master to develope
40ef328 (HEAD -> master, origin/master, origin/HEAD) HEAD@{2}: checkout: moving from develope to master
74b2383 (develope) HEAD@{3}: checkout: moving from master to develope
40ef328 (HEAD -> master, origin/master, origin/HEAD) HEAD@{4}: reset: moving to HEAD
40ef328 (HEAD -> master, origin/master, origin/HEAD) HEAD@{5}: clone: from http://LOCALGITSERVER/myBigProject/Android.git

und ich rufe den Zweig mit diesem Befehl ab:

git checkout -b newBranchName 74b2383

Ammar Bozorgvar
quelle
0

Nur mit git refloghat das shafür mich nicht zurückgegeben. Nur die commit id(die 8 Zeichen lang ist und ein sha ist viel länger)

Also habe ich benutzt git reflog --no-abbrev

Und dann machen Sie dasselbe wie oben erwähnt: git checkout -b <branch> <sha>

MarvinVK
quelle
Sie können immer die abgekürzte 8 Zeichen sha verwenden, Sie müssen nicht die volle sha verwenden
Michael Dreher
0

WENN Sie VSCode verwenden ... und Ihren Zweig irgendwann mit dem Server synchronisiert haben, bevor Sie ihn löschen ...

Beachten Sie, dass git branch delete nur die lokale Kopie löscht, nicht die Kopie auf dem Server. Sehen Sie sich zunächst im Git-Bereich (Git-Symbol in der linken Symbolleiste) die Zweige an und prüfen Sie, ob sich Ihr Zweig noch unter "origin / your_branch_name" befindet. Wenn ja, wählen Sie das einfach aus und Sie sollten Ihren Code zurückerhalten (schlagen Sie vor, dass Sie ihn sofort kopieren / einfügen / lokal an einem anderen Ort speichern).

Wenn Sie keinen "origin / your_branch_name" gesehen haben, installieren Sie die GitLens-Erweiterung. Auf diese Weise können Sie visuell in den Server-Repositorys stöbern und die Kopie suchen, die Sie mit dem Server synchronisiert haben. Wenn Sie mehrere Repositorys haben, beachten Sie, dass möglicherweise mindestens eine Datei aus dem gewünschten Repository geöffnet werden muss, damit das Repository in GitLens angezeigt wird. Dann:

  1. Öffnen Sie das GitLens-Bedienfeld

  2. Erweitern Sie das Repository

  3. Sie sollten eine Liste von Kategorien sehen: Zweige / Mitwirkende / Fernbedienungen / Verstecke / etc.

Sie sollten YourLostTreasure unter "Zweige" oder möglicherweise unter "Fernbedienungen -> Ursprünge" finden. Hoffentlich sehen Sie einen Zweig mit dem gewünschten Namen. Wenn Sie ihn erweitern, sollten Sie die Dateien sehen, die Sie in diesem Zweig geändert haben. Doppelklicken Sie auf die Dateinamen, um sie zu öffnen, und sichern Sie diesen Code sofort.

Wenn Sie Ihren verlorenen Zweig nicht sofort sehen, stöbern Sie herum und wenn Sie etwas Vielversprechendes finden, öffnen Sie ihn sofort und holen Sie sich den Code. Ich musste einiges herumstöbern, bis ich TheGoldenBranch gefunden hatte, und selbst dann fehlten dem Code die letzten ein oder zwei Speicherungen (möglicherweise, weil ich nicht mit dem Server synchronisiert werden konnte, bevor ich versuchte, eine Zweigstelle zusammenzuführen, aber versehentlich zu klicken). Branch-Delete). Meine Suche wurde unnötig verlängert, da ich beim ersten Auffinden des Zweigs nicht ganz sicher war, ob der Name korrekt war. Ich suchte also weiter und es dauerte einige Zeit, bis ich diesen ersten Zweig wiedergefunden hatte. (Also Carpe Carpum und dann weiter suchen.)

Cssyphus
quelle