Восстановите файл сценария оболочки (. sh) в git - PullRequest
1 голос
/ 06 апреля 2020

Я работаю над проектом с файлом сценария оболочки (скажем, 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

Я не очень знаком со сценарием оболочки, поэтому я не уверен, будет ли эта информация полезной.

1 Ответ

0 голосов
/ 08 апреля 2020

Добро пожаловать в Stackoverflow.

Похоже, вы не выдвинули никаких изменений в "master" (удаленный).

Итак, вы можете сделать:

git reset --hard origin/master

Это отменит все, что вы сделали в начале (т. Е. На своем компьютере), чтобы соответствовать вашей последней «выдвинутой» версии на пульте (т. Е. До того, как вы начали что-либо из этого).

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...