LINUX.ORG.RU

Попытка удаление несуществующего файла из git

 


0

1

При работе с программой Adobe Flash она создает временный файл(auto-recovery), который исчезает после закрытия программы. Так вот git определил это как changes not staged for commit. Так вот я никак не могу удалить этот несуществующий файл. При попытке ввода команды git rm <путь к файлу> выдает ошибку: «fatal: pathspec <имя файла> did not match any files». Как можно решить данную проблему?


Ответ на: комментарий от Jurik_Phys

Дело в том что расширение это временного файла совпадает с расширением рабочего документа, в котором хранится арт.

skyboy
() автор топика

Может быть меня глючит, но если файла больше нет, то новый вызов git status его не обнаружит и никаких проблем не будет.

lampslave ★★
()
Ответ на: комментарий от skyboy

В .gitignore можно вставлять самые разнообразные регулярные выражения, пробуйте.

Удалить файл из кеша - смотри, тут.

Jurik_Phys ★★★★★
()

При попытке ввода команды git rm <путь к файлу> выдает ошибку: «fatal: pathspec <имя файла> did not match any files».

Unstaged files не хранятся в репозитории и соответственно должны удаляться обычным rm. Ну и про .gitignore тут правильно уже написали. А вообще git - довольно глупая система. В её мануале так и написано: «the stupid content tracker»

bbk123 ★★★★★
()
git rm -f $file_name

И на будущее man gitignore

А еще можно

git reset --hard HEAD # Осторожно! Убьет все(!) незакоммиченные изменения

Можно вывод git status в студию?

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 2)
Ответ на: комментарий от KennyMinigun

Это там написано с любовью.

С любовью Линус ничего не делает. git рождён в гневе и от этого там полно пятен ненависти. Взять хотя бы git blame.

bbk123 ★★★★★
()

changes not staged for commit

на них гиту вообще плевать. Если гит его видит, значит он не несуществующий, но удалять его или нет — твое личное дело.

thesame ★★★★
()
Ответ на: комментарий от KennyMinigun

А еще можно
git reset --hard HEAD # Осторожно! Убьет все(!) незакоммиченные изменения

Ну и зачем такое предлагать? У человека проблема с unstaged файлом, а ты ему предлагаешь ресетнуть staged. Для удаления всех unstaged нужно использовать git clean -fxd

bbk123 ★★★★★
()
Ответ на: комментарий от bbk123

Взять хотя бы git blame.

Типичный юмор Линуса :) Вообще «stupid» в этом контексте имеет значение, что git не пытается быть умнее пользователя, например как:

# git reset --hard HEAD~4
Oh, it seems like youre going to remove 4 commits. 
Most likely it is not what you want to do.
Please type 'I confirm' to continue: I confirm
Are you sure [y/N]: y
Backing up your changes...
Sending copies to username@mail.com...
Stashing unstaged changes...
Uploading repo copy to GitHub...
Posting statuses to Facebook...
Creating tweets...
Posting news at G+...
please enter GitHub password for username:
Removing 4 commits and unstaged changes...
Please type
  git I am sorry
to renew removed chages

KennyMinigun ★★★★★
()
Ответ на: комментарий от bbk123

Для удаления всех unstaged нужно использовать git clean -fxd

Во-первых, это удалит unracked, что немного другое.
Во-вторых (как подпункт первого) это убьет все(!) остальные файлы, которые еще не добавлены в репозиторий.

KennyMinigun ★★★★★
()
Ответ на: комментарий от KennyMinigun

Во-первых, это удалит unracked, что немного другое.

Верно. Ошибка в терминологии, которая в git - тоже нечто.

Во-вторых (как подпункт первого) это убьет все(!) остальные файлы, которые еще не добавлены в репозиторий.

Никто не мешает их добавить.

bbk123 ★★★★★
()

git reset <путь к файлу>

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.