Git 在结帐时更改我的文件权限

2024-02-23

我们的工作流程是在本地计算机上开发,将更改提交到中央存储库,然后检查我们需要的该存储库的分支。

问题是 Git 会根据签出的用户更改其签出的文件的所有权甚至文件权限。这样做的直接结果是,我们的 CSS 文件在签出后变得不可读,因为 Git 将文件所有权更改为在 Web 根目录中进行 Git 拉取的人员。

Example:

  • Before git pull: style.css拥有者user_a:group_a
  • After git pull: style.css拥有者user_b:user_b

我想保留所有权user_a:group_a。我不想每次我的团队之一对文件进行更改时都必须登录,并将所有权更改回原始配置。

其他人如何处理这个问题?如何处理多个用户使用的存储库。我们的系统上有 suphp 并且无法将其删除。


Git 不会更改文件权限或所有权。只是它(大多数)也不存储它,它不存在于您的存储库中,因此它们会更改为您的用户拥有的任何内容。就像任何文件创建一样。

Git 支持两种权限集:可执行位打开和可执行位关闭。没有其他的。所有权信息根本不存储。

See 这个线程 https://stackoverflow.com/questions/11230171/git-is-changing-my-files-permissions-when-i-push-to-server- “如果您想要特定权限,则需要手动执行。”

建议使用一些解决方案:您可以使用单独的工具来完成此操作,使用用户帐户和 umask 的适当组合来默认正确设置它们,或者自己编写一个 git hook 来完成此操作。必须在进行结账的用户身上安装一个钩子。

正如 @ikke 在评论中所说,Git 并不是真正的部署工具,不应该这样使用。它是源代码的版本控制系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 在结帐时更改我的文件权限 的相关文章

  • 如何删除“致命:松散物体”?

    我的一个克隆存储库是从 git fsck 获取的 致命 松散对象 40bda4e3b79c3d7bf598df31d9e68470f97a3f79 存储在 git objects 40 bda4e3b79c3d7bf598df31d9e68
  • 获取引用而不下载对象[重复]

    这个问题在这里已经有答案了 我想检查 origin master 是否与我的 HEAD 不同 I do not想要git fetch 因为它可能非常昂贵 我滥用 git 的方式使得成本高得令人望而却步 任何允许我从远程获取提交列表或顶部提交
  • 在 git 中编辑分支?

    我在 github 网站上创建了一个分支 该分支不在我的本地存储库中 如何将该分支带到我的本地计算机 对其进行编辑 然后将其推送回我的 github 帐户 在本地工作目录中输入 git fetch origin newbranch git
  • git push heroku master 通过代理后面的 ssh 出现错误

    简要背景 大家好 我是一名大学生 代理 10 3 100 211 8080 刚接触 ROR Git 和 Heroku 一直在关注 Ruby on Rails 教程 我解决了通过 ssh 推送 git repo 的问题 在我的 ssh con
  • 计算机死机后 Git 存储库损坏

    我的电脑死机了 现在我的一个 git 存储库也坏了 当我尝试结账大师时 它告诉我 warning ignoring broken ref refs heads master error Your local changes to the f
  • 更改 git diff 输出前后的行数

    我想增加更改之前和之后显示的行数git diff output 类似于grep A3 B5 根据git diff help git diff支持与标准相同的参数diff命令 w r t 上下文 U
  • 从历史记录中删除不需要的文件,包括带有过滤分支的所有引用

    我最近克隆了一个 SVN 存储库 其中曾经有一些二进制文件 但不再需要了 不幸的是 我已经将它和包含的二进制文件推送到了 Github 我现在想使用 git filter branch 删除它们 但在标签和分支方面我遇到了一些问题 基本上
  • 如何使用 Github Pages 分支正确提交到存储库中

    我有一个问题 情况基于gh pages https pages github com 我的项目使用预处理器和其他困难的人员 因此 我的项目结构如下所示 主分支 src node modules public js css etc index
  • 如何对 git 子模块使用相同的协议?

    在 git 存储库 R 中 我有一个使用以下命令初始化的子模块 git submodule add git mygitserver 现在用户刚刚使用克隆 Rhttps并在运行时出现错误 git submodule init git subm
  • 恢复后如何挑选提交?

    我正在研究我的feature branch并在审核后合并到development待部署 后来 一位同事决定发布一个版本 并将他和我的合并到master 在部署时 他意识到他的代码有错误并恢复了master 在我们的分叉和拉动流程中 这意味着
  • 在 VS Code 中找不到 Git

    由于某种原因 我在 Windows 10 笔记本电脑上运行的 VS Code 中找不到 Git 在我的 Mac 上 当你一直向下滚动时 用户默认设置 中会出现一个 Git 但在我的 Windows 10 笔记本电脑上 它根本不存在 源代码管
  • Git:由于看似随机的合并,更改不断丢失

    我有一种感觉 这将是一个显而易见的答案 但我似乎无法解决 似乎发生的情况是 我向服务器提交 推送了一些更改 并且我的副本上的一切都显示正常 然后 另一位开发人员从同一分支的服务器中拉取 据我所知 据称看到了我的更改 进行一些修改 将它们提交
  • 列出其他人(即不是我)所做的提交?

    是否有一种标准方法可以列出 git 存储库中其他人 即不是我自己 所做的所有提交 I tried git log not author username 但看起来 not仅适用于修订版 的联机帮助页git log似乎没有提供反转谓词的方法
  • 忽略提交之间 git-diff 的*所有*空白更改

    我正在检查代码库并修复空白奇怪之处并通常纠正缩进等事情 并且我想确保我没有无意中进行任何其他更改 所以我正在做git diff w显示所有已更改文件中的差异 同时忽略空白差异 问题是这实际上并没有忽略all空白差异 至少是什么I认为仅仅是空
  • 我有*很多*源文件要添加到 git 存储库,如何使其快速

    我在看here https git scm com docs git fast import寻找更快地将批量文件导入 git 存储库的灵感 但不确定是不是这样 基本上情况是 我有超过 1 亿个文件想要提交到 git 存储库 我已将它们分解为
  • 如何终止当前正在运行的git进程? [复制]

    这个问题在这里已经有答案了 git commit m 45 fatal Unable to create F SoftifyBD Projects proj 4 CMS Latest contentmanagementsystem git
  • Git:当文件位于嵌套 git 存储库中时强制“添加”

    我想添加一个包含在父存储库中的嵌套 git 存储库中的文件 我正在开发一个在我的项目中使用的库 然而git add nested repo myfile不做任何事情 我可以尝试重命名 git文件在进行提交时 但是当我重命名回时 我担心会出现
  • Git 显示更改后的相同文件

    当我似乎无法弄清楚更改时 Git 向我显示整个文件已更改 这是 cygwin git 但它也发生在 msysgit 中 git version git version 2 1 1 diff lt git show HEAD File cs
  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • Hudson 结帐卡在“git fetch”处

    我正在使用 git 版本 1 6 2 2 1669 g7eaf8 在 Hudson 1 314 上使用 Hudson Git 插件 0 7 3 当我触发构建时 Hudson 执行 git fetch 但它永远不会返回 我把一只卡在那里14天

随机推荐

  • 简洁表达数学公式的语法建议

    我正在 C 中开发功能域特定的嵌入式语言 以尽可能简洁 准确地将公式转换为工作代码 我在评论中发布了一个原型 大约有两百行长 现在我的语言看起来像这样 嗯 实际上看起来像这样 implies two nested loops j 0 N i
  • 如何阻止 GD2 在调整图像大小时洗掉颜色?

    我使用 CodeIgniter 1 7 开发了一个照片共享社区网站 成员上传的照片会自动调整为多种格式的大小 为此我使用 CodeIgniter Image Manipulation 类 该类内置于框架中 基本上是多个图像处理库的包装器 例
  • 如何在Android地图上的另一个图像中显示图像?

    我想在地图上的另一个图像中显示图像 like 这里红色的图像是不同的图像 而黑色的偶像图像是不同的 public Bitmap mergeBitmaps Bitmap manBitmap try Bitmap markerBitmap Bi
  • cakephp 3 显示没有时间的日期

    CakePHP 3 我有一个数据库字段 它是日期 不是日期时间也不是时间戳 当我显示 echo contact gt date 它会显示类似的内容2014 01 06 0 00 如何隐藏小时和分钟 I tried print this gt
  • Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题

    我正在使用 DigitalOcean Debian 9 PHP 7 0 NGINX 1 10 3 1 并尝试安装 Joomla CMS 但在第一个安装屏幕 example com installation index php 上 我注意到一
  • Selenium + Java 的 elementToBeClickable 问题

    所以 我有一个隐藏在警报下的元素 警报持续 10 秒 之后用户可以单击该元素 这是我处理这种情况的代码 WebElement create driver findElement By cssSelector div action menu
  • C# 根据 XSD 验证 XML [重复]

    这个问题在这里已经有答案了 可能的重复 使用 XSD 架构进行 Xml 验证 https stackoverflow com questions 572853 xml validation using xsd schema 我使用一些 C
  • 组合 ggplot2 对象时设置拼凑中的轴限制

    组合时ggplot2对象使用拼凑而成 https patchwork data imaginist com index html我希望能够有一个选项 可以轻松地为所有图设置一个选项 使其具有相同的 x 轴和 或 y 轴范围 reprex l
  • Busboy 文件上传中出现“Unexpected end of multipart form”错误

    我正在使用 Busboy 在 Node Express 应用程序中上传文件 我收到错误Unexpected end of multipart form和应用程序崩溃 每当我尝试治疗失眠的方法时 都没有效果 在显示 Busboy 不是构造函数
  • 创建 Uri uri 时应用程序崩溃

    package com example renu customlead import android content Context import android content ContextWrapper import android
  • 如何将参数发送到流中的引用方法(java 8)?

    我有一个活动列表 Activity 我想确定表单的数据结构Map String DateTime 不是持续时间或期间 DateTime这是必须的 映射 对于每项活动 在监控期间计算的总持续时间 班级活动有 activityLabel Str
  • 启用 viewBinding 功能失败(Android Studio 3.6)

    我已经安装了 Android Studio 3 6 Canary 12 并且我想使用viewBinding feature 根据文档 我将此代码放入我的 build gradle 应用程序模块 中 android viewBinding e
  • R 闪亮应用程序的 twitter bootstrap 弹出窗口 - html 被解释为文本内容 - 为什么?

    我想将 Twitter 引导框架中的弹出窗口添加到闪亮的应用程序中 一切正常 除了 认为html true标签没有效果 shinyUI pageWithSidebar headerPanel Header sidebarPanel acti
  • 如何跟踪服务 firebird

    如何使用delphi xe10跟踪服务firebird服务器的所有事件 这是我的代码 my TIBControlService Create Self my ServerName 127 0 0 1 3050 my Protocol TPr
  • Subversion 快速解决所有冲突

    当我遇到多个冲突时 有没有办法通过告诉 SVN 保留存储库中的版本来解决所有冲突 不幸的是 我们仍在使用 1 4 我相信如果你运行命令svn revert R 您基本上撤消了对工作副本的所有更改 如果存在冲突的文件 SVN 会放弃您的更改并
  • 使用时初始化缓存

    假设我有以下事件 做一点事 取东西 获取成功的东西 DoSomething做一些需要一些缓存数据的事情 当我触发事件时 我想查看缓存并对其执行某些操作 如果存在 如果没有 那么我想获取它 等待它进入缓存 然后重试 我想出了以下解决方案 但感
  • 在 C 中以均匀概率有效地从文本文件中选择随机行?

    这本质上是一个更受限制的版本这个问题 https stackoverflow com questions 232237 whats the best way to return a random line in a text file us
  • 3d -> 1D 数组索引

    在 C 中 W H D 大小的 3D 数组的索引值是多少 对于特定的 i j k 这是正确的索引 i 宽 高 j 宽 k 您所编写的内容相当于执行以下操作的指针算术 T x D H W x i j k Pointer arithmetic
  • 将数据发送到后台运行的活动

    在活动之间传递数据时遇到问题 ListActivity 正在收集数据 当按下后退按钮时返回到 MainActivity 然后想要通过 onResume 方法获取该数据 但我什么也没得到 如何解决这个问题呢 列表活动 java Overrid
  • Git 在结帐时更改我的文件权限

    我们的工作流程是在本地计算机上开发 将更改提交到中央存储库 然后检查我们需要的该存储库的分支 问题是 Git 会根据签出的用户更改其签出的文件的所有权甚至文件权限 这样做的直接结果是 我们的 CSS 文件在签出后变得不可读 因为 Git 将