Если вы используете функцию зашифрованного домашнего каталога в Ubuntu, попробуйте перейти в каталог, который не находится у вас дома;ecryptfs может привести к увеличению длины имен файлов в основной файловой системе.В противном случае вы можете получить данные с помощью следующей процедуры:
Сначала перейдите к каталогу, в котором он находится, и введите git ls-files --stage
.Вы должны увидеть несколько выводов следующей формы:
100644 16890852350cb62bb9f9aec5e52eea8ba46f1192 0 somefile
Найдите хеш, соответствующий вашему интересующему файлу.Теперь сделайте:
git cat-file blob 16890852350cb62bb9f9aec5e52eea8ba46f1192 > shortername.pdf
Где shorttername.pdf - это новое имя для рассматриваемого файла, заменив хеш на тот, который вы нашли выше.Это извлечет содержимое файла, о котором идет речь.
Теперь просто сделайте:
git add shortername.pdf
git rm --cached $VERYLONGNAME.pdf
git commit
Это эффективно переименует слишком длинный PDF в более разумное имя.