Я работаю над проектом с файлом сценария оболочки (скажем, a.sh
).
Я клонирую репо на Windows и случайно запускаю a.sh
. Затем, когда я запускаю git status
в git bash, я получаю следующую информацию
git status
on branch master
Changes not staged for commit:
(use "git add <file> ..." to update what will be committed)
(use "git restore <file> ..." to discard changes in working directory)
modified: a.sh
Очевидно, я не хочу, чтобы это a.sh
было изменено, и я следую подсказке с
git restore a.sh
Однако, когда я снова запускаю git status
, я все равно получаю ту же информацию, что a.sh
был изменен. Я также попробовал другой способ поэтапно и зафиксировал этот файл с помощью git commit -am "restore sh"
, затем попытался сбросить этот файл с помощью git restore head^ a.sh
. Результат все тот же.
Так что мне было интересно, есть ли какие-нибудь методы для решения этой проблемы?
К вашему сведению, по словам моих коллег, a.sh
используется для убийства вхолостую python нить. Когда я git diff
этот файл, это показывает, что
old mode 100755
new mode 100644
Я не очень знаком со сценарием оболочки, поэтому я не уверен, будет ли эта информация полезной.