2016-12-01 1 views
0

Heute Morgen ist mein Windows 10 abgestürzt und neu gestartet, nachdem ich den Bildschirm meines Laptops hochgehoben habe. Es gab keine besonderen Aktivitäten, daher glaube ich nicht, dass es eine nennenswerte Festplattenaktivität gab."Not a git repository" nach dem Zurücksetzen des Betriebssystems

Eines meiner Git-Repos stürzte jedoch nach diesem Reset ab. Hier ist, was ich versucht:

  • $ git status fatal: Kein Git Repository (oder eines der übergeordneten Verzeichnissen): .git
  • $ git init Reinitialized bestehenden Git-Repository in ....../git./
  • $ git status fatal: kein Git Repository (oder eines der übergeordneten Verzeichnissen): .git
  • Schleife

Ich glaube nicht, dass ich Commits rückgängig gemacht habe, also sollte das Wischen und Klonen von Remote funktionieren.

Kann ich noch fragen, was zu tun ist, um ein vorhandenes Git-Repository wiederherzustellen (.git Verzeichnis existiert noch, chkdsk Berichte OK) in solchen Fällen?

[Hinzufügen] lesen this aber galt nicht für meinen Fall (ich kann den Repo nicht wiederherstellen)

+3

Erste Kopie .git woanders sofort. Das ganze Repo sogar. Als nächstes installiere Git neu, schaue ob das funktioniert und benutze Backup wenn nötig. – kabanus

+0

Können Sie auf "Backup verwenden" erweitern? Soll ich das Repository neu klonen und den .git-Ordner aus dem Backup überschreiben? Upvoted für das Wort "sofort" –

+0

Sie sollten immer Kopien Ihrer Repos aufbewahren. Mit git ist es so einfach wie 'git push'. Sie sollten eine Kopie des gesamten Ordners erstellt haben, bevor Sie 'git init' oder einen anderen Befehl ausführen, um zusätzlichen Schaden zu vermeiden. Kopieren Sie den Ordner trotzdem, nur für den Fall, dass Ihre Arbeitsdateien in Ordnung sind. –

Antwort

6

Wie kabanus said in a comment, sollten Sie auf jeden Fall retten, was können Sie, bevor Sie fortfahren (und/oder einen anderen vorhandenen Klon verwenden als Backup). Wenn Git sich darüber beschwert, bedeutet es oft, dass die Datei .git/HEAD verschwunden ist. Wenn Sie eine neue HEAD Datei mit dem Inhalt ref: refs/heads/master erstellen, kann Git möglicherweise alles wiederherstellen.

Da HEAD die aktivste Datei im Repository ist, handelt es sich um die Datei, die am ehesten durch einen Betriebssystemfehler oder einen Stromausfall blockiert wird. Es ist auch eine kritische Datei, wenn es darum geht, ob Git glaubt, dass ein .git Verzeichnis ein Repository ist: Wenn das Verzeichnis eine Datei mit dem Namen HEAD (zusammen mit ein paar anderen Schlüsselelementen) enthält, ist ein Repository; wenn nicht, ist es nicht ein Repository.

+0

Endorsed erweitern.Ich hatte Stromausfall in der Mitte Verzweigung in SmartGit auf MS Windows 10. Nach dem Neustart, konnte das Repo nicht öffnen. Die Bearbeitung des HEAD fL hat einfach perfekt für mich funktioniert. – ianmayo

Verwandte Themen