如何撤消git工作副本中的错误权限?我应该再克隆一次吗?

如何撤消git工作副本中的错误权限?我应该再克隆一次吗?,git,git-clone,Git,Git Clone,我刚刚克隆了一个目录。在设置本地文件时,我无意中对目录和文件夹中的所有内容设置了错误的权限(chmod-R 777/foo) 我想做的是‘从头开始’。这就像删除我的dev文件夹中的文件,然后再次运行clone命令一样简单吗?您也可以使用git reset--hard将所有更改还原到工作树。您可以这样做,也可以还原。我建议你养成恢复的习惯,因为这就是git的用途 关键是,你搞砸了,git会让你回到以前的签入状态。它不仅仅是一个推你的代码的地方,而且是当事情发生严重错误时的救星。也许你改变了,现在有

我刚刚克隆了一个目录。在设置本地文件时,我无意中对目录和文件夹中的所有内容设置了错误的权限(chmod-R 777/foo)


我想做的是‘从头开始’。这就像删除我的dev文件夹中的文件,然后再次运行clone命令一样简单吗?

您也可以使用git reset--hard将所有更改还原到工作树。您可以这样做,也可以还原。我建议你养成恢复的习惯,因为这就是git的用途

关键是,你搞砸了,git会让你回到以前的签入状态。它不仅仅是一个推你的代码的地方,而且是当事情发生严重错误时的救星。也许你改变了,现在有些东西坏了。你是做什么的?使用Git找出更改了什么,或者只是恢复到最新的工作版本


如果要清除dev文件夹中的文件,请确保也清除
.git
目录。

这会将工作副本中的文件还原为提交头中的权限

git ls-tree -r HEAD|while read mode _ _ fpath; do chmod "$mode" "$fpath"; done

回答得好!对我来说非常好。谢谢,这在别人失败的地方起作用。这是回报。。chmod:无效模式:“100644”已修复此错误。。。但我想了解<代码>git ls树-r d3fb093 |读取模式uuFPath;执行chmod“${mode:3}”“$fpath”;完成