Git-repository verlor seinen Außenstellen?
Habe ich ein git repository, das hat einer remote-Einrichtung ("git fetch" funktioniert), aber es nicht haben alle remote-branches: die ".git/refs/remotes" Ordner existiert nicht, und
git branch -r
gibt nichts (leere Liste, keine Filialen). Doch die eigentlichen remote-repository einen branch. Wenn ich neu Klonen des remote-repo, ich bekomme bei einem lokalen repo, dass hat mit remote-Niederlassungen.
Ich glaube nicht, dass dieser Zustand möglich war. Meine Fragen:
- Wie auf der Erde habe ich bekommen in diesem Zustand?
- Gibt es einen Befehl, der ausgeführt werden kann, zu setzen ".git/refs/remotes" zurück? (kurz von einem frischen clone, das habe ich bereits getan).
Zusätzliche Informationen
"git config --remote.Herkunft.fetch" ist leer (D. H. der Befehl erzeugt keine Ausgabe)
"git remote show origin" zeigt
$ git remote show origin
* remote origin
Fetch URL: <correct remote url here>
Push URL: <correct remote url here>
HEAD branch: master
Local ref configured for 'git push':
master pushes to master (up to date)
- Was ist die Ausgabe von "git remote show origin"? [origin-remote-repo-name]
- bearbeitet die Ausgabe von "git remote show origin". Sieht alles in Ordnung zu sein mit dem Befehl, es sei denn, ich bin fehlt etwas.
Du musst angemeldet sein, um einen Kommentar abzugeben.
[Edit, April 2017] Wenn Sie Ihre original-Klon mit
--single-branch
Ihreremote.origin.fetch
Einstellung wird das problem sein. Wenn Sie ein--depth
limit, das auch impliziert--single-branch
. Wiederherstellung der normalenremote.origin.fetch
Wert unten beschrieben, und Sie erhalten eine fuller-Klon.Normal, nur laufen
git fetch
wiederherstellen sollte Ihre remote-tracking branches.Wenn
git fetch
ist nicht Sie wiederherstellen können, dann Frage ich mich: was gehtgit config --get-all remote.origin.fetch
drucken? (Dies setzt Voraus, die Fernbedienung namensorigin
; wenn nicht, ersetzen Sie den tatsächlichen Namen). Es sollte auf+refs/heads/*:refs/remotes/origin/*
(wieder vorausgesetzt, der nameorigin
). In besonderen Fällen (wie das abrufen von Notizen) ggf. weitere Zeilen hinzufügen.git remote add
setzt Fernbedienungen mit einemfetch
Linie, entweder das typische oder das Besondere version für die Spiegel (mit--mirror=fetch
). Klonen einer remote-repo-Sätze einenorigin
remote auf die gleiche Weise. Was entfernt, es bleibt ein Rätsel, wie bisher.--depth=15
vielleicht ist das der Zusammenhang ?Dieser mein problem gelöst
git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
Wenn ich excute
vi .git/config
ich Locker die fetch-Zeile:fetch = +refs/heads/*:refs/remotes/origin/*