2015-07-17 9 views
5

Ein Tag wurde erstellt, enthält „A“ im Namen, ich bin nicht in der Lage löschen Sie den Tag versucht, die folgenden löschen für den Namen.Kann nicht GIT-Tag wegen Sonderzeichen „Ó

Bei der Ausführung der Befehle git sagt, dass der Tag gelöscht wurde: löschen Ort:

Deleted tag 'xxÃxx' (was 434eae7) 

Nach Push:

remote: warning: Allowing deletion of corrupt ref. 
- [deleted]   xxÃxx 

Tag "xxÃxx" auf neue kommt -p jeder git holen oder git pull (Ereignis nach zwei aufeinanderfolgenden Zügen).

Auch versucht, das Tag aus Quellbaum zu löschen, aber das Tag wird erneut angezeigt.

+0

Welche Version von Git verwenden Sie? – VonC

+0

Ich habe keine Ahnung was du erwartest 'git -d - ...' zu tun - vielleicht sollte das 'git tag -d - ...' sein? Außerdem fehlt 'config ...' wahrscheinlich ein 'git'-Präfix, ansonsten, wenn es etwas tut, ist es nicht git-bezogen ... – twalberg

+0

@VonC git Version 1.8.4 –

Antwort

2

Um das Tag 'xxÃxx' als neues Tag bei jedem Pull/Fetch zu stoppen. Ich habe einen Klon des Repository erstellt.

Ich habe keine Lösung gefunden, um das Tag tatsächlich zu löschen, aber das ist für mich akzeptabel.

Besonderer Dank an @VonC.

+1

Froh, dass Sie es am Ende funktioniert haben (auch wenn es ein Workaround ist). +1 – VonC

1

Ich bin wahrscheinlich einfach zu stur, aber ich wollte eine Lösung finden, die nicht das Löschen des Repos und das erneute Klonen beinhaltet - also hier ist es.

Mein schlechtes Tag war ◊v2.2.29.

Das Hinzufügen eines Verweises in .git/packed-refs hat den Trick für mich gemacht. duplizieren Just (oder hinzufügen), um eine Zeile in der gepackten Datei Refs und den Tag zu Ihrem problematischen ändern, im Format:

1ea677c29c1db49a284b3a0b44a5e96fda873da2 refs/tags/◊v2.2.29

Sie brauchen nicht Die richtige Objekt-ID für dieses Tag zu kennen, aber Sie benötigen eine gültige Objekt-ID für Ihr Projekt. In meinem Beispiel ist 1ea677c29c1db49a284b3a0b44a5e96fda873da2 nur eine Objekt-ID eines anderen Tags, das ich hatte (es spielt natürlich keine Rolle, nur eines aus einer anderen Zeile in der gleichen Datei auszuwählen), und das Problem ist gelöst. Wenn Sie eine Objekt-ID angeben, die überhaupt nicht existiert, wird sich git entweder beschweren, dass sie ungültig ist, oder sie einfach als neues Tag behandeln, je nachdem, ob Sie die Struktur richtig haben oder nicht. Page 10

+0

Danke, dass Sie stur sind, aber ich werde nicht versuchen zu replizieren, um das wieder zu beheben. Ich hatte genug Kopf damit: P –

+0

@FlorianStoica - danke für die Antwort. Wenn Sie diese Lösung überprüfen möchten, ohne etwas zu riskieren, können Sie den Repo einfach in einen neuen Ordner klonen, und dann zu den .git/packed-refs im neuen Ordner/Klon gehen und die Zeile mit dem bad-Tag entfernen. Dann sehen Sie, dass bei jedem Pull das Tag erstellt wird und wenn Sie die Zeile wieder zu .git/packed-refs hinzufügen, wird es damit aufhören. Ich habe es auch auf einigen Computern verifiziert – shuki