Я загрузил новые изображения в свое проектное решение. Они зафиксированы и отправлены в мой репозиторий Bitbucket.
Теперь каждый раз после того, как я фиксирую локальные изменения (совершенно не связанные с ранее загруженными изображениями), я получаю ошибки git, когда хочу либо вытащить, либо нажать:
Я застрял, так как не могу нажать или потянуть, и все мои локальные изменения уже зафиксированы.
Почему он продолжает получать ошибки в этих уже загруженных файлах изображений?
Я попытался удалить и прочитать изображение, переименовать изображение, повторно зафиксировав его, но все равно получаю эту ошибку.
Раньше у меня не было этих ошибок, и я уже много лет работаю в той же среде.
Заранее спасибо!
РЕДАКТИРОВАТЬ
вывод 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
@JanHudec Я запустил статус git и вставил вывод в первоначальный ответ. Я действительно не понимаю, почему они перечислены там, поскольку мой пользовательский интерфейс указывает, что все файлы в порядке и зафиксированы? Есть ли простой способ разрешить эти списки?
Какую ОС вы используете?
@RyanLundy Windows 10 Домашняя 64-битная по умолчанию
@FilipHuysmans Можете ли вы взглянуть на историю и увидеть, имел ли проблемный файл другой регистр букв в своем имени? Например, Borrow_Items.svg
вместо borrow_items.svg
.
@RyanLundy Я проверил, и он был загружен 3 раза, всегда строчными буквами с одним и тем же именем, и удален 2 раза из-за проблем слияния и попыток исправления.
@FilipHuysmans использует git ls-tree -r -t HEAD | grep -i borrow_items.sv
, чтобы проверить, существует ли проблема с регистром букв.
Для меня это не похоже на проблемы с путем, просто неправильный возврат. Вы, случайно, когда он впервые пожаловался на файлы, просто удалили их?
@FilipHuysmans, это вывод не завершеноgit status
, так как он всегда начинается со слов On branch …
! Биты перед списком файлов тоже важны!
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, поэтому на этот раз я могу удалить ее навсегда!
В некоторых случаях это происходит из-за фильтров crlf или clean/smudge и, возможно, других. Пользовательский интерфейс не всегда предоставляет всю информацию, которую предоставляет командная строка, поэтому можете ли вы открыть командную строку (Git Bash) и проверить там ситуацию? Для начала предоставьте вывод
git status
иgit diff
, настройки crlf (git config core.autocrlf
иgit config core.eol
) и содержимое любого файла.gitattributes
, который у вас есть.