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

tjw*_*tjw 3 git git-clone

我刚刚克隆了一个目录。在设置本地文件时,我不小心为目录以及该文件夹内的所有内容设置了错误的权限(chmod -R 777 /foo)。

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

小智 5

这会将工作副本中的文件恢复到 HEAD 提交中的权限。

git ls-tree -r HEAD|while read mode _ _ fpath; do chmod "$mode" "$fpath"; done
Run Code Online (Sandbox Code Playgroud)

  • 我修复了这个...但想了解... `git ls-tree -r d3fb093 |while read mode __ fpath; 执行 chmod "${mode:3}" "$fpath"; 完成` (2认同)