我正在处理一个包含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
这将撤消你在原点(即你的计算机(所做的一切,以匹配你在远程上的最后一个"推送"版本(即在你开始任何操作之前(。
祝你好运。