git提交中是否包含文件权限和所有者:组属性? 如何在整个git管道中处理文件和目录的这些属性[commit,push,pull,merge等]?
答案 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权限更改的问题,并且不太确定如何处理它。