Git показывает странные символы (\320\277...), файл удалён и появился заново — как исправить

Git показывает странные символы (\320\277...), файл удалён и появился заново — как исправить

Проблема

При выполнении:

git status

можно увидеть:

deleted:    "\320\277\320\276..."
untracked:  "\320\277\320\276....txt"
modified:   .DS_Store

При этом:

  • имя файла отображается непонятными символами
  • Git показывает удаление одного файла и появление другого
  • появляется файл .DS_Store

Причина

  1. Файл был переименован или изменено расширение
    Например:
    • было: пояснительная записка
    • стало: пояснительная записка.txt
      Git воспринимает это как удаление и создание нового файла.
  2. .DS_Store — системный файл macOS, его не нужно хранить в репозитории.

Git отображает кириллицу в escape-виде
Например:

\320\277\320\276...

— это обычное имя файла (например, «пояснительная записка»).

Решение

Включить нормальное отображение имён файлов:

git config --global core.quotepath false

Если файл был переименован — зафиксировать изменения:

git add .
git commit -m "Переименование файла"
git push origin main

Добавить .DS_Store в .gitignore:

echo ".DS_Store" >> .gitignore
git add .gitignore
git commit -m "Добавлен .DS_Store в gitignore"

Удалить .DS_Store из репозитория:

git rm --cached .DS_Store
git commit -m "Удалён .DS_Store"
git push

Если изменения были случайными:

git restore .

Итог

Такая ситуация возникает из-за:

  • особенностей отображения кириллицы в Git
  • и переименования файла

После настройки отображения и фиксации изменений проблема исчезает.

Read more

Git: работа с ветками, конфликтами и Pull Request

Git: работа с ветками, конфликтами и Pull Request

Введение Git позволяет работать с ветками, безопасно вносить изменения и объединять их через Pull Request. В этой инструкции — базовые сценарии для повседневной работы. Работа с ветками Создание ветки git checkout -b feature/task-name Создаёт новую ветку и сразу переключает на неё. Переключение между ветками git checkout main git checkout feature/

By Evgeny Shmelev
Инструкция по работе с Git (базовая памятка)

Инструкция по работе с Git (базовая памятка)

Введение Git — система контроля версий для отслеживания изменений в файлах и совместной работы. Ниже — краткая практическая инструкция для повседневного использования. Основные команды Проверка состояния git status Показывает: * есть ли изменения * синхронизацию с сервером * новые файлы Получение изменений git pull Забирает изменения и объединяет их с текущей веткой. Обновление через rebase

By Evgeny Shmelev