2013-05-08 3 views
49

Я пытаюсь сделать мерзавец тянуть и получить сообщение об ошибке:Не удается сделать мерзавец тянуть

error: The following untracked working tree files would be overwritten by merge: 
<myFileName> 
Please move or remove them before you can merge. 

Итак, я стараюсь, чтобы удалить файл с помощью команды GIT гт - кэш, который приводит к ошибке:

fatal: pathspec 
<myFileName> 
did not match any files 

на данный момент я застрял. Я не могу потянуть, пока не удалю файл. Но, это говорит мне, что я не могу удалить файл.

Что можно сделать, чтобы исправить это?

ответ

21

У вас есть необработанные файлы на пути тяги. Вы не можете удалить их с помощью git rm --cached, потому что они не отслеживаются. Они не отображаются в индексе. Вам нужно удалить их с простой старой rm

4

Этот файл еще нет в текущей ветке, поэтому его нельзя удалить с помощью git rm --cache. Просто используйте rm.

+0

Было бы предпочтительнее, чтобы просто переместить текущий файл, в случае там были изменения в этом файле. Итак, используйте простую консольную команду mv для перемещения файла или rm, если вы хотите удалить этот файл. – abletterer

2

Как указано в исходном сообщении об ошибке, этот файл находится в untracked. То есть git ничего не знает об этом. Просто удалите его из файловой системы, используя rm. Если вы заботитесь о содержании, просто переместите его в другое место.

4

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

102

Это возможность для команды «git clean». Если вам не нужны незатрещенные файлы ... git clean -n, чтобы увидеть, что будет удалено, и git clean -f, чтобы продолжить и rm untracked файлы.

Добавить -d для команды также работают в каталогах:

git clean -dn 
    git clean -df 
+1

Это действительно помогло мне. :) – Adnan

+2

ooooh man; это потрясающе, как рай; love ur explain – DJphy

+0

Это, безусловно, полезно, но есть ли способ позволить git перезаписывать файлы? У меня есть некоторые файлы, которые я бы предпочел сохранить, которые не имеют никакого отношения к конфликту, и я не хочу вручную искать и находить оскорбительные файлы, чтобы удалить их, чтобы их можно было заменить. Разумеется, должен быть вариант «принудительного притяжения» или что-то еще? –

Смежные вопросы