git - 防止修改 GitHub 中主分支上的文件

标签 git github git-merge

在我们的 main 分支中,我们有一个包含特定配置的文件。 我们将此文件命名为 .example-conf

当开发人员创建他的分支和 pull 请求时。 他可以更改 .example-conf 文件的内容,因此他的 pull 请求将根据这些配置执行我们的自定义脚本。 merge 时应忽略文件 .example-conf 中的更改。

我们需要阻止开发人员修改 main 分支中的 .example-conf 文件。但是当他们从 main 创建分支时,该文件应该就在那里。

我们尝试使用 .gitattributes 实现解决方案,但这不起作用,因为 merge 期间没有冲突。因此, merge 后 .example-conf 的内容将被修改。我们需要它与 main 分支保持相同。

我们使用 GitHub 进行版本控制。

如何做到这一点?

最佳答案

Github 允许您通过使用代码所有者来添加额外的安全层。可以通过添加 merge 之前需要 pull 请求审查分支保护规则,然后启用需要代码所有者进行审查来启用此功能 此外,您还必须添加一个代码所有者文件,指定谁是 .example-conf 的代码所有者。例如

conf/*.conf    <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f59cdb9498b5819d90db9a829b9087" rel="noreferrer noopener nofollow">[email protected]</a>

有关更多信息,请参阅 Introducing Code Owners

关于git - 防止修改 GitHub 中主分支上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68256800/

相关文章:

git - 在 Git 分支之间切换,删除另一个分支中的文件

git - 存储库中的全局 .gitignore 与 .gitignore

Git:如何 merge 因缺少历史而大相径庭的复杂分支?

git - git merge 命令后出现不明确的信息消息

git - 如何从远程仓库中 pull 入新分支?

git - 使用 .gitconfig 配置差异工具

git - 在 GitLab 的 CI/CD 系统中,如果作业在我的 fork 中,我如何阻止它运行,并且只允许它在 merge 到主仓库时运行?

ios - 如何在Git存储库中组织文件

android - android studio 中的多个 Github 帐户

linux - 如何在 GIT 中处理这个 merge 问题