【问题标题】:File permissions resetting when switching branches in Git在 Git 中切换分支时文件权限重置
【发布时间】:2010-12-25 00:16:09
【问题描述】:

我在一个文件夹上创建了一个 Git 存储库,该文件夹的 Linux 所有者与我的用户不同。直到很久以后,我才将组权限设置为写入,以便我的用户可以对 Git 进行更改和提交。但是,每当我从分支切换到 master 时,所有组写入权限都会丢失。

我尝试切换到 master 分支,并使用 root 用户为我所在的组启用所有文件的写入权限。但是当我切换到不同的分支时,所有组写入权限再次丢失.

【问题讨论】:

  • 存储库的位置有什么特别之处吗?您是否考虑过让两个用户通过使用git init --shared=group 创建的裸仓库进行协调?

标签: git permissions branch


【解决方案1】:

Git 不跟踪权限(可执行标志除外)。因此,请确保将当前用户的umask 设置为不从文件中删除组可写标志。它通常设置为022,在您的情况下,它应该设置为002man umask 了解更多详情。

【讨论】:

  • 谢谢。在进一步阅读之后,我意识到 Git 不会混淆权限。感谢您对 umask 的提醒,我相信这解决了我的权限问题。
【解决方案2】:

我不认为这是特定于 git 的,git 只会使用当前组和 umask 来检出文件,所以如果您希望您的工作树成为该组可写的特定组,您应该使用 @987654321 @ 登录到所需的组或在工作树上递归设置组和 setgid 位,并确保您的 umask 排除组可写位(例如 0002)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2019-02-07
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多