关于代码所有者
您可以使用 CODEOWNERS 文件定义负责仓库代码的个人或团队。
具有管理员或所有者权限的人员可以在仓库中创建 CODEOWNERS 文件。 您选择作为代码所有者的人员必须具有仓库的写入权限。
当有人打开用于修改代码的拉取请求时,会自动向代码所有者申请审查。
当具有管理员或所有者权限的人员启用必需审查时,他们也可选择性要求代码所有者批准后,作者才可合并仓库中的拉取请求。 更多信息请参阅“启用拉取请求的必需审查”。
CODEOWNERS 文件位置
要使用 CODEOWNERS 文件,请在仓库中您要添加代码所有者的分支的根目录 docs/
或 .github/
中,创建一个名为 CODEOWNERS
的新文件。
每个 CODEOWNERS 文件将为仓库中的一个分支分配代码所有者。 因此,您可以为不同的分支分配不同的代码所有者,例如为 master
分支的代码基础分配 @octo-org/codeowners-team
,为 gh-pages
分支的 GitHub 页面 站点分配 @octocat
。
为使代码所有者接收审查请求,CODEOWNERS 文件必须在拉取请求的基本分支上。 例如,如果您将 @octocat
分配为仓库 gh-pages
分支上 .js 文件的代码所有者,则在头部分支与 gh-pages
之间打开更改 .js 文件的拉取请求时,@octocat
将会收到审查请求。
CODEOWNERS 语法
CODEOWNERS 文件使用遵循 gitignore 文件中所用规则的模式。 模式后接一个或多个使用标准 @username
或 @org/team-name
格式的 GitHub 用户名或团队名称。 您也可以通过已经添加到其 GitHub Enterprise 帐户的电子邮件地址来指代用户,如 user@example.com
。
CODEOWNERS 文件示例
# This is a comment.
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @global-owner1 @global-owner2
# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @js-owner and not the global
# owner(s) will be requested for a review.
*.js @js-owner
# You can also use email addresses if you prefer. They'll be
# used to look up users just like we do for commit author
# emails.
*.go docs@example.com
# In this example, @doctocat owns any files in the build/logs
# directory at the root of the repository and any of its
# subdirectories.
/build/logs/ @doctocat
# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
docs/* docs@example.com
# In this example, @octocat owns any file in an apps directory
# anywhere in your repository.
apps/ @octocat
# In this example, @doctocat owns any file in the `/docs`
# directory in the root of your repository.
/docs/ @doctocat
延伸阅读
- "创建新文件"
- "邀请个人仓库的协作者"
- "管理个人对组织仓库的访问"
- "管理团队对组织仓库的访问"
- "查看拉取请求审查"