用git还原一个shell脚本文件(.sh)



我正在处理一个包含shell脚本文件(比如a.sh(的项目。

我在Windows上克隆了repo,意外地运行了a.sh。然后,当我在gitbash中运行git status时,我得到了以下信息

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

我不太熟悉shell脚本,所以我不确定这些信息是否会有帮助。

欢迎使用Stackoverflow。

看起来您没有将任何更改推送到"master"(远程(。

所以,你可以做:

git reset --hard origin/master

这将撤消你在原点(即你的计算机(所做的一切,以匹配你在远程上的最后一个"推送"版本(即在你开始任何操作之前(。

祝你好运。

最新更新