Изображение с привидениями в git

Я загрузил новые изображения в свое проектное решение. Они зафиксированы и отправлены в мой репозиторий Bitbucket.

Теперь каждый раз после того, как я фиксирую локальные изменения (совершенно не связанные с ранее загруженными изображениями), я получаю ошибки git, когда хочу либо вытащить, либо нажать:

enter image description here

Я застрял, так как не могу нажать или потянуть, и все мои локальные изменения уже зафиксированы.

Почему он продолжает получать ошибки в этих уже загруженных файлах изображений?

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

Раньше у меня не было этих ошибок, и я уже много лет работаю в той же среде.

Заранее спасибо!

РЕДАКТИРОВАТЬ

вывод git-статуса:

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   application/helpers/datetime_helper.php
        new file:   design/img/interesses/neigborhood/borrow_items.svg
        new file:   design/img/interesses/neigborhood/care_job.svg
        new file:   design/img/interesses/neigborhood/childcare.svg
        new file:   design/img/interesses/neigborhood/coffee_chats.svg
        new file:   design/img/interesses/neigborhood/crea_and_manual_work.svg
        new file:   design/img/interesses/neigborhood/culture_trip.svg
        new file:   design/img/interesses/neigborhood/cycling.svg
        new file:   design/img/interesses/neigborhood/day_trip.svg
        new file:   design/img/interesses/neigborhood/game_or_cards.svg
        new file:   design/img/interesses/neigborhood/garden_job.svg
        new file:   design/img/interesses/neigborhood/gardening_together.svg
        new file:   design/img/interesses/neigborhood/groceries.svg
        new file:   design/img/interesses/neigborhood/it_job.svg
        new file:   design/img/interesses/neigborhood/make_music.svg
        new file:   design/img/interesses/neigborhood/neighbor_party.svg
        new file:   design/img/interesses/neigborhood/neighborhood_project.svg
        new file:   design/img/interesses/neigborhood/other_sports.svg
        new file:   design/img/interesses/neigborhood/pet_sitters.svg
        new file:   design/img/interesses/neigborhood/practical_job.svg
        new file:   design/img/interesses/neigborhood/receive_mail.svg
        new file:   design/img/interesses/neigborhood/teaching.svg
        new file:   design/img/interesses/neigborhood/technical_job.svg
        new file:   design/img/interesses/neigborhood/transport.svg
        new file:   design/img/interesses/neigborhood/walking.svg

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    design/img/interesses/neigborhood/borrow_items.svg
        deleted:    design/img/interesses/neigborhood/care_job.svg
        deleted:    design/img/interesses/neigborhood/childcare.svg
        deleted:    design/img/interesses/neigborhood/coffee_chats.svg
        deleted:    design/img/interesses/neigborhood/crea_and_manual_work.svg
        deleted:    design/img/interesses/neigborhood/culture_trip.svg
        deleted:    design/img/interesses/neigborhood/cycling.svg
        deleted:    design/img/interesses/neigborhood/day_trip.svg
        deleted:    design/img/interesses/neigborhood/game_or_cards.svg
        deleted:    design/img/interesses/neigborhood/garden_job.svg
        deleted:    design/img/interesses/neigborhood/gardening_together.svg
        deleted:    design/img/interesses/neigborhood/groceries.svg
        deleted:    design/img/interesses/neigborhood/it_job.svg
        deleted:    design/img/interesses/neigborhood/make_music.svg
        deleted:    design/img/interesses/neigborhood/neighbor_party.svg
        deleted:    design/img/interesses/neigborhood/neighborhood_project.svg
        deleted:    design/img/interesses/neigborhood/other_sports.svg
        deleted:    design/img/interesses/neigborhood/pet_sitters.svg
        deleted:    design/img/interesses/neigborhood/practical_job.svg
        deleted:    design/img/interesses/neigborhood/receive_mail.svg
        deleted:    design/img/interesses/neigborhood/teaching.svg
        deleted:    design/img/interesses/neigborhood/technical_job.svg
        deleted:    design/img/interesses/neigborhood/transport.svg
        deleted:    design/img/interesses/neigborhood/walking.svg

В некоторых случаях это происходит из-за фильтров crlf или clean/smudge и, возможно, других. Пользовательский интерфейс не всегда предоставляет всю информацию, которую предоставляет командная строка, поэтому можете ли вы открыть командную строку (Git Bash) и проверить там ситуацию? Для начала предоставьте вывод git status и git diff, настройки crlf (git config core.autocrlf и git config core.eol) и содержимое любого файла .gitattributes, который у вас есть.

Jan Hudec 22.05.2019 14:14

@JanHudec Я запустил статус git и вставил вывод в первоначальный ответ. Я действительно не понимаю, почему они перечислены там, поскольку мой пользовательский интерфейс указывает, что все файлы в порядке и зафиксированы? Есть ли простой способ разрешить эти списки?

Filip Huysmans 22.05.2019 14:52

Какую ОС вы используете?

Ryan Lundy 22.05.2019 14:52

@RyanLundy Windows 10 Домашняя 64-битная по умолчанию

Filip Huysmans 22.05.2019 14:53

@FilipHuysmans Можете ли вы взглянуть на историю и увидеть, имел ли проблемный файл другой регистр букв в своем имени? Например, Borrow_Items.svg вместо borrow_items.svg.

Ryan Lundy 22.05.2019 15:04

@RyanLundy Я проверил, и он был загружен 3 раза, всегда строчными буквами с одним и тем же именем, и удален 2 раза из-за проблем слияния и попыток исправления.

Filip Huysmans 22.05.2019 15:21

@FilipHuysmans использует git ls-tree -r -t HEAD | grep -i borrow_items.sv, чтобы проверить, существует ли проблема с регистром букв.

ElpieKay 22.05.2019 16:07

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

Jan Hudec 23.05.2019 07:16

@FilipHuysmans, это вывод не завершеноgit status, так как он всегда начинается со слов On branch …! Биты перед списком файлов тоже важны!

Jan Hudec 23.05.2019 07:29
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
2
9
139
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Git имеет эту уникальную функцию, когда вы постепенно собираете содержимое коммита. К сожалению, они даже не смогли договориться об имени, поэтому его попеременно называют «стадией», «индексом» и «кэшем». Здесь файлы добавляются с помощью команды git add.

Плагин IDEA Git пытается скрыть это от вас, потому что добавляет сложности и потому что пользовательский интерфейс, изначально разработанный для других систем контроля версий, не имеет хорошего способа показать это. Но ваш рабочий каталог находится в состоянии, которое требует от вас работы с ним.

Стандартный графический интерфейс Git (просто запустите git gui в вашем рабочем дереве из командной строки) — неплохой способ получить доступ ко всем функциям создания коммита, или вы можете использовать один из других графических интерфейсов с соответствующим диалоговым окном (например, git extensions ). Если мне не изменяет память, в плагине IDEA его нет, поэтому вам понадобится что-то еще.

Теперь в чем ваша проблема: кажется, вы добавили изображения для фиксации, и когда Git пожаловался на конфликт в них при извлечении, просто удалил их с диска. Но так как они уже были «добавлены в систему контроля версий», то есть «постановочные» на жаргоне Git, Git все еще помнит их и теперь имеет с ними еще большие проблемы. Вы также можете

  • Откройте git gui и прогоните их из нижнего левого окна, щелкнув значки (файлы помещаются и не помещаются в Git GUI, щелкая их значки, при нажатии на их имена отображаются изменения (для текстовых файлов); это быстро и просто, но совершенно недоступно).
  • Из командной строки выполните git reset HEAD design/img/interesses/neigborhood/ (как следует из вывода состояния в попытке помочь, что не удается из-за незнакомого термина «неустановленное»)

У вас есть еще один подготовленный файл, application/helpers/datetime_helper.php, поэтому вы должны зафиксировать его (или сбросить, как значки, если вы не это имели в виду) перед выполнением извлечения, потому что Git отказывается объединяться, когда есть локальные изменения. На самом деле это важная функция безопасности, поскольку вы можете прервать слияние и повторить попытку, если допустили ошибку. Вы, вероятно, должны получить, прежде чем отправлять, потому что в основном репозитории есть другие изменения.

Спасибо, что заставили меня понять проблему. Вначале я добавил изображения и зафиксировал их, затем я действительно удалил их из своей файловой системы и добавил в другую папку (в основном переименовав папку, но да). Теперь проблема решена, так как я смог объединить свое решение с решением в репозитории. Это показало мне, что удаленная папка действительно все еще находится в Git, поэтому на этот раз я могу удалить ее навсегда!

Filip Huysmans 24.05.2019 14:55

Другие вопросы по теме

Является ли имя ветки с префиксом двоеточия своего рода псевдонимом для git push <remote-name> --delete <remote-branch-name>?
Подключитесь к Team Foundation Server из Azure Data Studio.
Как преобразовать репозиторий mercurial в репозиторий git без потери веток?
TFS «Получить конкретную версию, проверить/проверить» по сравнению с «Откатом всего набора изменений» по сравнению с «Откатом выбора наборов изменений» по сравнению с «Откатом обозревателя решений»
Развертывание и запуск бот-фреймворка версии 4.4+ из шаблона работает, но развертывание и запуск с использованием форка и системы управления версиями не работает.
Visual Studio — система управления версиями вне каталога решений
При использовании git и GitHub, в случае поврежденного репозитория, можно ли вернуться с чистой версией в GitHub?
Как мне вернуться к началу моей текущей фиксации на git?
Игнорировать файлы .idea/ на Intellij
Есть ли какие-либо остатки случайного «проверки svn» в моем локальном репозитории svn?