Git fügt einen Ordner mit Leerzeichen im Namen hinzu

Lesezeit: 2 Minuten

Benutzer-Avatar
Jonathan Yeong

Problem

Wenn ich dem Staging-Bereich etwas hinzufügen möchte, tippe ich normalerweise git add ein. Ich kann jedoch keine Ordner mit Leerzeichen im Namen hinzufügen. Mein git add Die automatische Vervollständigung maskiert die Leerzeichen nicht korrekt.

Zum Beispiel

Ich habe einen Ordner namens: Ordner A

Ich führe den Befehl aus git add F < tab-autocomplete > was wird git add Folder A/. Wenn ich versuche, diesen Ordner hinzuzufügen, wird ein Fehler ausgegeben:

fatal: pathspec 'Folder' did not match any files

Dies liegt daran, dass die korrekte Syntax sein sollte git add Folder\ A/.

Zusammenfassung

Ich bin mir nicht sicher, wie ich das beheben soll, und ich kann keine Ressourcen mit einer dauerhaften Lösung finden. Dieses Problem „Wie git mit Ordnernamen mit Leerzeichen umgeht“ beschreibt eine Lösung. Aber es geht darum, Sprachzeichen um den Ordnernamen zu setzen, was ich eigentlich nicht möchte. Gibt es eine bessere Lösung?

Ich verwende git Version 2.2.0 und zsh Version 5.0.7. Danke im Voraus!

  • Bleibt das Problem mit dem neuesten Git 2.8.3 bestehen?

    – VonC

    26. Mai 2016 um 14:02 Uhr

Die Lösung besteht darin, den Ordnernamen in ‘ und ‘ (einfache Anführungszeichen) einzuschließen.
Versuchen Sie in Ihrem Beispiel Folgendes:

git add 'Folder A'

Ich hoffe das hilft 🙂

  • Unter Windows müssen es doppelte Anführungszeichen sein, wie git add “Folder A”

    – derek

    9. Mai 2018 um 18:10 Uhr

Benutzer-Avatar
VonC

Sie überprüfen, ob die in “Git-Vervollständigung mit zsh: Dateinamen mit Leerzeichen werden nicht richtig maskiert” funktioniert:

Der Shell-Backslash maskiert die Dateinamen wie erwartet, wenn ich die Tab-Vervollständigung verwende, um den Dateinamen einzufügen.

% echo "testing" >> test<tab>

wird automatisch vervollständigt, nachdem Sie dreimal die Tabulatortaste gedrückt haben.

% echo "testing" >> test\ four\ -\ latest.txt

Mit anderen Worten, die ordnungsgemäße Vervollständigung sollte keine quptes ("), sollte aber Leerzeichen entkommen.

  • Wenn ich den Befehl ausführe echo "testing" >> test<tab> Es wird korrekt automatisch vervollständigt. Es wird jedoch nicht automatisch vervollständigt, wenn ich es versuche git add <tab> wie oben erwähnt. Könnte ich meine Frage näher präzisieren? Als Workaround habe ich angefangen zu verwenden git add "<tab autocomplete>" die den Räumen entgeht. Aber wie du gesagt hast @VonC: proper completion shouldn't need quptes ("), but should escape spaces.

    – Jonathan Yeong

    15. Dezember 2014 um 3:48 Uhr


1243310cookie-checkGit fügt einen Ordner mit Leerzeichen im Namen hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy