2.3 KiB
tags | ||||
---|---|---|---|---|
|
Открываем git bash, жмём ПКМ > Options… > Text. Ставим там Locale = ru_RU
и Character set = UTF-8
. Шрифт (Font) должен поддерживать кириллицу.
Задаём настройки в файле config
репозитория:
[core]
...
quotepath = false
[i18n]
# кодировка сообщений коммитов
commitencoding = cp1251
# кодировка вывода в консоль, если не задана, то == commitencoding
logoutputencoding = cp866
Переходим в рабочую директорию проекта и смотрим кодировку коммитов:
git log --pretty="%h [%e] %s"
Вывод будет приблизительно таким:
495d3cb [cp1251] Popups png -> jpg
fc0961e [cp1251] Keyboard png -> jpg
8665af6 [cp1251] Buttons png -> jpg
27fa7c0 [cp1251] Backgrounds png -> jpg
...
Сначала идёт короткий хеш коммита, в квадратных скобках — его кодировка (может быть пустой), а далее его комментарий. Комментарии на кириллице могут отображаться коряво, если ранее настройки git bash не менялись (или стояли отличные, от указанных выше) и работа в консоли велась в другой кодировке.
Запускаем перекодирование
git filter-branch --msg-filter 'iconv -c -s -f CP1251 -t UTF-8' --tag-name-filter 'cat' -- --all HEAD
Теперь можно обновлять свой remote. Остальным участникам разработки остаётся только получить свежий репозиторий и работать уже с ним. Вопросы переноса чужих наработок, не попавших в новый перекодированный репозиторий, оставляю за кадром.