You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置CODEOWNERS规则,仅赋予用户项目根目录文件所有权?

如何配置CODEOWNERS让用户仅拥有项目根目录文件所有权?

项目结构

project
│   README.md
│   config.json
│   package.json
│
└───folder1
│   │   fileA.js
│   │   fileB.html
│   
└───folder2
    │   fileC.js
    │   fileD.html

需求

让用户johnSmith仅拥有项目根目录下所有文件的所有权,不包含任何子目录内的文件。

已尝试的无效写法

# CODEOWNERS
/ @johnSmith

./ @johnSmith

/* @johnSmith

正确解决方案

有两种可靠的实现方式:

方式1:逐个指定根目录文件(推荐,明确无歧义)

直接列出根目录下的每个文件,确保仅这些文件归johnSmith所有:

# 根目录文件所有权配置
README.md @johnSmith
config.json @johnSmith
package.json @johnSmith

方式2:使用否定规则排除子目录

如果根目录文件较多,可先匹配根目录所有项,再排除子目录(注意规则顺序):

# 先匹配根目录所有文件和目录
/* @johnSmith
# 排除两个子目录,子目录内的文件不再继承所有权规则
!/folder1/
!/folder2/

为什么之前的写法无效?

  • / @johnSmith 和 ./ @johnSmith:这两种写法都会匹配整个仓库的所有文件(包括子目录内的文件),不符合需求。
  • /* @johnSmith:该规则会匹配根目录下的所有文件和子目录本身,子目录内的文件会因路径匹配优先级继承此规则,导致johnSmith仍拥有子目录文件的所有权。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:36:13