在 windows 借助 git 修改文件权限
起因:
创建新仓库的时候,仓库都没有脚本,然后就需要把运维同事的脚本复制过来,可执行脚本都是在 scripts 文件夹下面的
过了几天,来活了
刚开始还不知道咋回事,想到的文件权限是在linux系统下面用命令去设置的,windows只是创建文件,而且创建完的文件,该怎么样控制权限呢?毕竟代码最后是提交到gitlab上面的。
嘿嘿,在linux系统里面,确实听到过,但是在windows系统里面,有点抓狂了。
不对,脑袋灵光一闪,windows上安装git上传代码,git操作不就是linux操作嘛,这样一来,我不就能修改文件权限了嘛,于是便悟了。
解决办法:
1. 查看文件权限
# 查看路径,确保已经在scripts目录下
pwd
# 查看当前目录下的文件
ll
# 查看文件权限
git ls-tree HEAD
100644 blob e5c9ae1cd8be8f97b6d46a62653b4f8ac347b55f docker-image-build-failure.html
100755 blob ad1f290cb43648ff7921f79d2daa50036ac31a5f docker_build.sh
100644 blob cd2c0339093894e9f1b41578c119eb544eaaa15e entrypoint.sh
100644 blob cd28c89b27d90f2f02c53677df4afef4698b7420 image-tag.sh
2 修改 仓库中文件的权限
这里我已经把docker_build.sh的权限修改了,接下来继续把 entrypoint.sh 文件和 image-tag.sh 文件的权限 100644 也修改为 100755
# 修改 entrypoint.sh 文件权限
git update-index --chmod=+x entrypoint.sh
执行命令,回车之后只要不报错,就说明修改成功了
# 修改 image-tag.sh 文件权限
git update-index --chmod=+x image-tag.sh
同上,只要不报错,就是修改成功了
3 commit 提交修改
# 把修改的内容提交
git commit -am "chmod +x scripts"
注意:如果不提交,再次查看,不会显示已经修改的文件权限,如下
未提交前查询:可以看到 entrypoint.sh 和 image-tag.sh 的权限还是 100644
提交后查询:可以看到,现在文件的权限都是 100755 了,至此,修改文件权限完成
最后 git push 把修改后的文件再次提交到 git 就可以了
作者:天下没有收费的bug
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。