Einen Zweig mit dem Namen löschen <u+0096><u+0096>DEV- in Git für Windows-Shell </u+0096></u+0096>

492
Karl Richter

Ich habe einen Zweig in einen Namen umbenannt, der aus Firefox kopiert und in die Git-for-Windows-Shell (MinGW64) eingefügt wurde. Jetzt heißt der Zweig <U+0096><U+0096>DEV-. Afaik, das führende Zeichen, <U+0096>stellt unsichtbare oder nicht druckbare Zeichen dar, die von der Shell nicht ignoriert werden, oder es ist in Jira ein ziemlich ärgerliches Problem, von dem aus ich den Zweignamen kopiert habe.

Ich konnte das Commit auf Basis des Commit-Hashes auswählen reflog. Jetzt möchte ich den Zweig loswerden (vorzugsweise in der Befehlszeile, um einige Windows-Tricks zu lernen).

1

1 Antwort auf die Frage

2
A.H.

In bashSie können C-Stil - Escape - Sequenzen mit dieser Syntax: $'string'. So können Sie den Zweig mit löschen

> git branch -D $'\x96\x96DEV-' 

Nur für den Fall, dass Sie die genauen Bytes nicht kennen, können Sie dies folgendermaßen herausfinden:

> git show-ref | sed -n 's#.* refs/heads/##p' | grep -a DEV- | hexdump -C 00000000 96 96 44 45 56 2d 0a |..DEV-.| 00000007 

Sie müssen das Nachlaufen 0aoder 0d 0aauch weglassen .

Danke für deine Eingabe. Unter Ubuntu 18.10 wird der Zweig als `angezeigt`. Inzwischen ist es einfacher zu löschen, um von dort aus für mich zu verzweigen. Irgendeine Idee? Karl Richter vor 5 Jahren 0
Die von mir gezeigte Syntax ist `bash`. Daher wird es unter git-bash unter Windows und unter bash unter Linux genauso funktionieren. A.H. vor 5 Jahren 0
Ich stimme zu, dass es funktionieren sollte, aber leider nicht (auf Ubuntu 18.10). Ich habe versucht `git branch -D $ '\ x96'` für den Zweig, der als` angezeigt wird`in der Ausgabe von` git branch -a` (sagt `error: branch ' ' nicht gefunden.`). Karl Richter vor 5 Jahren 0