linux - Git 推送和拉取文件权限更改
问题描述
我的生产服务器上有一个项目linux1
。
- 我使用 Windows FileZilla 将项目复制
linux1
到我的 Windows PC。 linux2
然后我使用 Windows Filezilla 将它从我的 Windows PC复制到我的测试服务器。- 在
linux2
测试服务器上,我对文件进行了一些文件权限更改,还更改了一些代码。 - 然后我使用 Windows FileZilla 将项目从
linux2
测试服务器复制回我的 Windows PC。
如果我现在将项目从我的 Windows PC 推送到我的 Git 存储库,然后我将项目拉到我的生产linux1
服务器上,文件权限是否会linux1
更改?或者这只会更新代码?
解决方案
Git 只跟踪一个权限:可执行位。所有文件都存储为 644(所有者rw-
、组和其他r--
)或 755(所有者rwx
、组和其他r-x
)。
当您pull
在生产服务器上时,文件的可执行位将根据它们的提交方式进行更新。不跟踪其他权限和文件所有权。执行pull
ing 的用户需要修改本地文件系统上的文件的权限,并且可能会成为任何已修改文件的所有者。
如果您需要进一步控制权限,您可以运行脚本。或者,使用对文件权限具有更强大控制的部署工具(这不是 Git 的设计目的)。
作为旁注,在您的登台服务器上使用//可能会更简单,而git clone
不是通过您的Windows PC。fetch
pull
推荐阅读
- python-3.x - python/pandas 在给定条件的情况下将值写入前一行
- rest - 使用 API 数据更新 Google 表格
- php - 用 OpenCart CMS 的 OpenSSL 加密替换 Mcrypt 加密
- xml - Google表格中的Importxml部分工作
- php - 如何从 $_POST var 类似于用户名的数据库中检索电子邮件
- c# - ViewBag 是否有 OrderBy 选项
- drone.io - drone.io:containerd:写 /proc/14/oom_score_adj:权限被拒绝
- python - Python 请求 POST 未发布
- kotlin - 如何将外部可调用成员函数添加到匿名对象?
- vbscript - QTP/UFT - 在 SendKeys 函数中包含选择所有文本