Git提交中是否包含文件权限和所有者:组属性?

时间:2015-04-22 14:14:28

标签: git

git提交中是否包含文件权限和所有者:组属性? 如何在整个git管道中处理文件和目录的这些属性[commit,push,pull,merge等]?

3 个答案:

答案 0 :(得分:9)

Git中的文件被分配了644(所有者rw-,群组和其他r--)或755(所有者rwx,群组和其他r-x)。不存储所有权信息。

这是故意的,并由Git的维护人员Junio Hamano this post详细解释:

  

实际上在很早的时候,git用来记录完整的(模式& 0777)   对于blob。

     

一旦人们开始使用git,每个人都意识到它有一个非常好的   产生的树依赖于用户的umasks产生令人不快的副作用,   因为一个人用模式664记录blob而下一个人用   修改文件将使用模式644进行记录,这使得它变得非常困难   跟踪源代码的有意义的更改。这个问题已修复   很久以前提交e447947(对文件更加自由   模式位。,2005-04-16)。

答案 1 :(得分:3)

一般来说,没有。这些都是特定机器环境的本地特征。

例外是Git使用类似权限的设置来跟踪一些“通用”属性,例如文件是否可执行以及对象是文件还是子模块。 Git可以在结账时将这些映射到您当地的环境。

答案 2 :(得分:0)

在Windows中,没有,但* nix会推送权限更改。我遇到了Windows看到* nix权限更改的问题,并且不太确定如何处理它。