起因:

创建新仓库的时候,仓库都没有脚本,然后就需要把运维同事的脚本复制过来,可执行脚本都是在 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 就可以了

在 windows 借助 git 修改文件权限的更多相关文章

  1. git修改文件权限方式

    查看Repository中文件权限 git ls-tree HEAD 100644 blob 018321abfbff52d175a788597f5b5f3f17f67dc7 .gitignore 1 ...

  2. git关于文件权限修改引起的冲突及忽略文件权限的办法

    我们在使用git进行版本管理的时候,有时候只是修改了文件的权限,比如将pack.php修改为777,但其实文件内容并没有改变,但是git会认为此文件做了修改,原因是git把文件权限也算作文件差异的一部 ...

  3. 修改文件权限后,再git pull后提示文件已修改

    问题: 从git上面pull下来脚本文件,在Linux上面执行.执行chmod +x 后,如果再次有修改文件,git pull 的提示会终止.每次都要使用 git checkout -- <fi ...

  4. git忽略文件权限的检查

    在linux上配置了一个samba服务器,方便在linux上通过ide修改代码,然后发现一个很烦人的问题,就是没有修改权限,在使用命令 chmod 777 filename后可以修改了,然而使用git ...

  5. 【转】linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有 ...

  6. ubuntu下修改进入root用户和修改文件权限

    (1)进入root用户 su root 密码:设置的root密码 (2)修改文件权限 sudo chmod +777  file (3)执行shell ./shellfile (4)编写shell 第 ...

  7. Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...

  8. ubuntu修改文件权限记录

    查看文件权限的命令: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...

  9. linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有1 ...

  10. 【linux轻松学】修改文件权限

    用chmod修改文件权限,此命令非常重要. 用户范围:u 表示当前用户g 表示当前群组o 除u,g之外的用户和群组a 所有用户和群组 权限代号:r :读,用数字4表示w :写,用数字2表示x :执行, ...

随机推荐

  1. Delta Lake_ High-Performance ACID Table Storage over Cloud Object Stores

    论文发表于 2020年, 研究数据湖产品的很好的学习资料. 概要 开篇很明确的表明了为什么要做Delta lake这样一个产品. Databricks尝试将数据仓库直接架在云上对象存储之上, 这种尝试 ...

  2. Hexo博客Next6.0版本主题配置(站内搜索、新建404界面、静态资源压缩、底部信息隐藏、各版块透明度修改、字数统计、推荐阅读、博文置顶、阅读进度、在线评论、运行时间)

    新建404界面 在站点根目录下,输入hexo new page 404,在默认Hexo站点下/source/404/index.md 打开新建的404界面,编辑属于自己的404界面,可以显示腾讯公益4 ...

  3. 揭秘 .NET 中的 TimerQueue(上)

    前言 TimerQueue 是.NET中实现定时任务的核心组件,它是一个定时任务的管理器,负责存储和调度定时任务.它被用于实现很多 .NET 中的定时任务,比如 System.Threading.Ti ...

  4. Mybatis(Map)

    Map 假设,我们的实体类,或者数据库中的表,字段或参数过多,我们应当考虑使用map 创建接口 //万能的mapper,我们不需要知道数据库里面有什么,是一个键值对的表现 //我们只需查询对应的字段 ...

  5. zabbix 概念 - 主机、主机配置模板

    zabbix 是以"主机"为单位来组织监控项的. 主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的).它可以是一台物理服务器,一个网络交换机,一个虚拟机或者一些应用. ...

  6. .NET 如何实现ChatGPT的Stream传输

    .NET 如何实现ChatGPT的Stream传输 ChatGPT是如何实现不适用websocket进行一个一个字返回到前端的? 下面我们会介绍一下EventSource EventSource Ev ...

  7. Angular 报错 Cannot Resolve Module

    file:///E:/C#/angular-client/src/app/app.component.sass?FngResource 一些文件解释不到,最后发现是这个目录的问题,里面有个特殊的字符 ...

  8. 自动刷新服务:nodemon

    安装命令: npm install -g nodemon 运行命令: nodemon server.js 运行结果:

  9. 利用msfvenom生成木马

    msfvenom命令行选项如下: 英文原版: 中文版: Options: -p, --payload <payload> 指定需要使用的payload(攻击荷载).如果需要使用自定义的pa ...

  10. Redis专题-队列

    Redis专题-队列 首先,想一想 Redis 适合做消息队列吗? 1.消息队列的消息存取需求是什么?redis中的解决方案是什么? 无非就是下面这几点: 0.数据可以顺序读取 1.支持阻塞等待拉取消 ...