Git 如何忽略文件权限和属组
后知后觉 暂无评论

很多时候线上和仓库内的文件权限要求不同,但是修改文件权限后 Git 会将修改同步,或者拒绝拉取更新,那应该如何忽略权限等修改呢?

配置

可以直接使用命令

git config core.filemode false          # 忽略本仓库
git config --global core.fileMode false # 全局忽略

然后更新到远端仓库,在部署服务器上拉取后修改文件权限也不会阻断后续拉取操作。

额外

如果在 Windows 系统内可以使用命令查看本地仓库中的文件权限。

git ls-tree HEAD

因为 UNIX 的权限在 Windows 上并不生效,所以如果不想忽略权限,而又需要在 Windows 上修改文件权限的话,可以使用命令进行修改

git update-index --chmod=+x eg.sh # 例如为脚本添加执行权限

重新推送至远程仓库即可。


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。