Ich habe mehrere .screen-Dateien in /xxx/documentation
Und seinen Unterverzeichnissen, die bereits von Git verfolgt werden.
Nachdem ich viele dieser Bildschirmdateien geändert habe, führe ich - wie im ersten Beispiel in der Dokumentation zu git add documentation/\\*.screen
Angegeben - git-add
Aus, um diese Dateien bereitzustellen. Der Befehl schlägt jedoch fehl:
fatal: pathspec 'documentation/\ *. screen' hat keine Dateien gefunden
Ist mein Befehl schlecht oder hat git einen Fehler?
Es ist ein Fehler in der Dokumentation. Zitiere das Sternchen mit
$ git add documentation/\ *. screen
oder
$ git füge 'documentation/*. screen' hinzu
um das gewünschte Verhalten zu erreichen.
Wenn Sie stattdessen nur Dateien im aktuellen Verzeichnis hinzufügen möchten, verwenden Sie
$ git add * .screen
UPDATE: Ich habe ein Patch eingereicht, das das Problem behebt, jetzt behoben ab Version 1.6. 6.2.
Ich habe die akzeptierte Antwort ausprobiert, aber sie hat bei mir nicht funktioniert. Deshalb hier meine, nur für den Fall, dass jemand seine Arbeit erledigen möchte, ohne Zeit damit zu verschwenden, verschiedene Aspekte zu analysieren, die das Problem verursachen könnten:
find documentation -name "*.screen" | xargs git add -u
// Die Option -u zu git-add fügt dem Index nur die Dateien hinzu, die zuvor verfolgt und geändert wurden
Sie haben die Shell angewiesen, nach *.screen
Zu suchen (dh genau diese Zeichenfolge - die nicht existiert - anstelle der von Ihnen gewünschten Zeichenfolge "alle Dateien, die mit .screen
Enden. Lassen Sie die Zeichenfolge \\
, damit die Shell die Dateinamenerweiterung für Sie durchführen kann.
Das habe ich gerade für ein ähnliches Problem beim Hinzufügen aller Dateien in einem Verzeichnis verwendet:
find . | sed "s/\(.*\)/\"\1\"/g" | xargs git add
Für die ursprüngliche Frage wäre der Befehl:
find -name "*.screen" | sed "s/\(.*\)/\"\1\"/g" | xargs git add
Beachten Sie, dass es sich um den Fall handelt, dass ein vollständig angegebener Dateiname Leerzeichen enthält. Deshalb meine Antwort. Bearbeiten Sie den Teil vor dem ersten |
, um verschiedene hinzuzufügende Dateien auszuwählen.
git add * .Java funktioniert bei mir so, dass alle Java Dateien rekursiv hinzugefügt werden
versuchen
git add ./documentation/*.screen