【问题标题】:Git push & pull file permission changesGit 推送和拉取文件权限更改
【发布时间】:2019-02-23 10:29:20
【问题描述】:

我的生产服务器上有一个项目linux1

  1. 我使用 Windows FileZilla 将项目从 linux1 复制到了我的 Windows PC。
  2. 然后我将其从装有 Windows Filezilla 的 Windows PC 复制到我的测试服务器 linux2
  3. linux2 测试服务器上,我对文件进行了一些文件权限更改,还更改了一些代码。
  4. 然后我将项目从 linux2 测试服务器复制回我的装有 Windows FileZilla 的 Windows PC。

如果我现在将项目从我的 Windows PC 推送到我的 Git 存储库,然后我将项目拉到我的生产 linux1 服务器上,linux1 上的文件权限会改变吗?或者这只是更新代码?

【问题讨论】:

    标签: linux windows git file-permissions


    【解决方案1】:

    Git 只跟踪一个权限:可执行位。所有文件都存储为 644(所有者 rw-、组和其他 r--)或 755(所有者 rwx、组和其他 r-x)。

    当您在生产服务器上pull 时,文件的可执行位将根据它们的提交方式进行更新。不跟踪其他权限和文件所有权。执行pulling 的用户需要修改本地文件系统上文件的权限,并且可能会成为任何修改文件的所有者。

    如果您需要进一步控制权限,您可以运行脚本。或者,使用对文件权限有更强大控制的部署工具(这不是 Git 的设计目的)。

    附带说明一下,在临时服务器上使用 git clone / fetch / pull 可能会更简单,而不是通过 Windows PC。

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 2020-03-20
      • 2018-05-29
      • 2012-06-29
      • 1970-01-01
      • 2016-07-27
      • 2015-02-12
      • 2015-12-19
      相关资源
      最近更新 更多