Нельзя гит рм со спецсимволами - PullRequest
7 голосов
/ 18 октября 2011

Я добавил файлы в свой репозиторий git, которые хочу удалить сейчас.Я удалил его с помощью rm XXX.Теперь git status показывает мне:

Changed but not updated:
    deleted:    "Sche\314\201ma application + interface.graffle"

Независимо от того, как я git rm, у меня все еще есть:

fatal: pathspec 'Schêma application + interface.graffle' did not match any files

Я пытался экранировать пробелы с помощью \бежать \ с \\, бежать " с \".Что бы я ни пытался, это не получилось.

У вас есть подсказки?

Ответы [ 3 ]

25 голосов
/ 18 октября 2011

Это обнаружит удаление:

git add -u
0 голосов
/ 06 июня 2013

Оберните его в одинарные кавычки.

 git rm '"Sche\314\201ma application + interface.graffle"'

Если вам нужно экранировать одинарные кавычки в имени файла, заключите их в двойные кавычки. Поэтому, если по какой-либо причине ваше имя файла «» (это одинарная кавычка, двойная кавычка), используйте

git rm "'"'"'

, где первый набор двойных кавычек заключает в себе одинарную кавычку, а конечный набор одинарных кавычек заключает в себе двойную кавычку.

Это для Bash в целом, а не только для git. Подробнее о безумии цитаты здесь: Как избежать одиночных кавычек в одиночных кавычках?

0 голосов
/ 18 октября 2011

попробуй git gui. Вы могли бы избежать этого должным образом, но это может быть слишком много проблем, чем оно того стоит. Это должно избежать этого должным образом.

Если ваша проблема - постановка удаления, просто git add -A, чтобы добавить все изменения в индекс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...