Bitte überlegen Sie, die akzeptierte Antwort in Alexey Tens Antwort zu ändern, die hoch bewertet und korrekt ist ( git update-ref -d).
Jonathon Reinhart
Antworten:
11
Es sieht aus wie ein Tag, daher sollte der folgende Befehl funktionieren:
git tag -d refs/original/refs/heads/master
Da dies jedoch nicht der Fall ist, können Sie die Datei einfach aus dem .gitVerzeichnis löschen . Ein Befehl wie dieser aus dem Repository-Stammverzeichnis ruft Folgendes ab:
rm .git/refs/tags/refs/original/refs/heads/master
Der Pfad kann geringfügig abweichen, wenn der git-tagBefehl fehlgeschlagen ist. Möglicherweise möchten cd .git/refsSie den fehlerhaften Kopf durch Ausprobieren finden. Durch Löschen der Datei wird der Verweis aus Ihrem lokalen Repository entfernt.
Das hat bei mir mit dem gleichen Problem geklappt. Beachten Sie, dass die Referenz in einer Datei mit dem Namen .git / packing-refs gespeichert wurde. Wenn Sie das öffnen, sehen Sie die Zeile mit dem SHA und der Zeichenfolge "refs / original / refs / heads / master". Sie könnten diese Zeile wahrscheinlich löschen, aber ich würde diesen Befehl verwenden, um sicher zu sein.
Matt N
14
+1: Sie sollten immer verwenden, git update-ref -danstatt nur rmdie Referenz zu verwenden - andernfalls kann etwas passieren.
Callum Rogers
3
Dies sollte die akzeptierte Antwort sein
Daniel Alder
1
@ CallumRogers warum?
Wahnfrieden
6
@wahnfrieden weil git gepackte refs verwenden könnte und es keine entsprechende Datei im refsVerzeichnis gibt
Alexey Ten
17
Dies ist ein Hinweis. Normalerweise erstellt von git filter-branch- Dies ist ein Zeiger auf die Position Ihres Zweigs vor der Ausführung git filter-branch.
Und um einen Verweis zu löschen , können Sie im lokalen Repository immer nichts darauf pushen:
git push . :refs/original/refs/heads/master
Die anderen Antworten deckten auch andere Arten des Löschens ziemlich gut ab.
git update-ref -d
).Antworten:
Es sieht aus wie ein Tag, daher sollte der folgende Befehl funktionieren:
Da dies jedoch nicht der Fall ist, können Sie die Datei einfach aus dem
.git
Verzeichnis löschen . Ein Befehl wie dieser aus dem Repository-Stammverzeichnis ruft Folgendes ab:Der Pfad kann geringfügig abweichen, wenn der
git-tag
Befehl fehlgeschlagen ist. Möglicherweise möchtencd .git/refs
Sie den fehlerhaften Kopf durch Ausprobieren finden. Durch Löschen der Datei wird der Verweis aus Ihrem lokalen Repository entfernt.quelle
.git/refs/original/refs/heads/master
.git update-ref
Interna von Git, anstatt sie manuell zu mutieren. Siehe Alexeys Antwort.Dieser Befehl sollte funktionieren
quelle
git update-ref -d
anstatt nurrm
die Referenz zu verwenden - andernfalls kann etwas passieren.refs
Verzeichnis gibtDies ist ein Hinweis. Normalerweise erstellt von
git filter-branch
- Dies ist ein Zeiger auf die Position Ihres Zweigs vor der Ausführunggit filter-branch
.Und um einen Verweis zu löschen , können Sie im lokalen Repository immer nichts darauf pushen:
Die anderen Antworten deckten auch andere Arten des Löschens ziemlich gut ab.
quelle