Изменение файла
Я изменяю файл на диске, запускаю git status
, ничего не меняется. Запустите git update-index --really-refresh
, и измененный файл отобразится.
Так как пару недель у меня была эта ошибка несколько раз в день, я подозреваю, что это новая ошибка git4win, или, возможно, даже связанная с файловой системой Windows. Я использую git с момента его создания полтора десятилетия назад, так что это не «я забыл X». У меня была ошибка четыре раза за последние два часа. А потом я даже был на обеденном перерыве на один час!
$ git --version
git version 2.23.0.windows.1
Плохая теория
Сначала я подумал, что это как-то связано с подсистемой Windows для Linux-git, которую ябыл отдельно установлен. После удаления этой установки и клонирования всех моих репозиториев снова (в N-й раз) я все еще получаю эту ошибку.
Изменение добавленного файла
git отсутствует мои измененные файлы также относится к файлам, которые былидобавлены уже, но были изменены с тех пор. Это приводит к тому, что я фиксирую + отправляю множество файлов, которые я просмотрел + скомпилировал (либо в моей IDE, либо в cli), но их содержимое не совпадает и достаточно точно. Когда я запускаю update-index --really-refresh
, я вижу, что я выдвинул файлы, которые были добавлены изначально, но не файл, который я изменил и скомпилировал.
Чем он не является
В этом нет ничегоделать с git ignore, как это происходит с уже добавленными файлами (см. второй сценарий выше). Это не имеет прямого отношения к WSL, так как я удалил там git. У меня нет странных настроек git:
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
credential.helper=manager
diff.astextplain.textconv=astextplain
user.name=Jonas Bystrom
user.email=...
core.autocrlf=true
core.pager=less -F -X
core.longpaths=true
alias.ca=commit -a
alias.nb=checkout -b
alias.quicklog=log --pretty=format:"%h %cr %cn %Cgreen%s%Creset"
alias.logdiff=log -p --stat
alias.search=log --source --all -p --decorate=full -G
push.default=upstream
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=ssh://...
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
Понятия не имею, что попробовать. Любые указатели того, что попробовать, приветствуются!