
Очень странная ситуация: ОС — Linux, запущенный в Vagrant внутри Mac, у меня есть SSH-подключение к GitLab.
Я сделал ответвление от мастера
git checkout -b TB-2105_update_mfa
Я изменил некоторые файлы, выполните git status
On branch TB-2105_update_mfa
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: src/components/Admin/Users/Details.js
new file: src/components/Admin/Users/MultifactorAuthentication.js
Я делаю что-то вроде git add, например
git add --all src
но и добавляя точный путь к двум измененным компонентам.
Я делаю коммит
git commit -m "Some message"
Я делаю git status
On branch TB-2105_update_mfa
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: src/components/Admin/Users/Details.js
new file: src/components/Admin/Users/MultifactorAuthentication.js
Какая конкретная последовательность событий может привести к тому, что коммит не будет зарегистрирован, и как из этого выйти?
Я извлек ветку master, создал от нее ответвление с новым именем и попытался что-то добавить, зафиксировать и т. д., но проблема осталась прежней.
Я также пробовал делать коммит с --no-verify на случай, если есть какая-то проверка, о которой я не знал. Ничего из этого не работает.
Я нашел решение методом подбора, которое включало сохранение файлов в другом месте, удаление репозитория, перемещение файлов обратно и т. д., и тогда все заработало. Я подумал, что этого достаточно, и, вероятно, я больше не столкнусь с этой ситуацией, но менее чем через 24 часа она снова у меня!
Заметил, что когда я делаю git diff
это время, он пустой, хотя измененных файлов нет. Но если я это делаю, git diff --cached
я могу увидеть изменения.