推送到受保护的分支

Pushing to protected branches

几年来,我一直是一个项目的唯一开发人员,直到最近才在团队中加入了第二个开发人员(他在 git 和 Gitea 方面的经验甚至比我少)。这意味着我有很多我非常保护的源代码,但我确实需要他开始理解所有这些并开始实施增强功能/错误修复等。

我们有个约定,他会从master分支分支出来,把他的feature分支推送到origin(Gitea),在那里我可以看到他的代码,最后合并回master。在 Gitea 中玩耍时,我注意到您可以将分支设置为 "protected",这就是我为 master 分支所做的。这很好,因为这意味着他不会不小心推送到 master,但这意味着我也不能,一旦我将他的功能分支合并到本地 master。

关于如何解决这个问题有什么建议吗?我不想在每次需要合并更改然后再次保护它时取消对 master 的保护。

当您想合并东西时,您不会被迫 "unprotect" 您的主分支。您必须 创建一个拉取请求

从 master 创建一个分支,将您的更改合并到其中,然后再将其合并回 master,与您直接推送到 master 的不受保护的设置相比,这只是有点不方便。

当你们中的一个人需要从他的功能分支合并到 master 时,只需推送到远程并从那里创建您的拉取请求。

在您描述的上下文中,保护 master 分支似乎是个好主意,不仅可以防止新手犯错误,此外,它还会为您提供一个很好的拉取请求历史记录,以便在出现问题时进行检查。

我从未使用过 Gitea,但至少在 BitBucket 或 GitLab 等其他平台上,您可以配置存储库以允许某些人推送到受保护的分支。寻找这样的选择可能会有所帮助。无论如何,如果发生合并冲突,你将需要这样一个选项......(除非你在源代码分支中解决它们)

上网一搜好像已经实现了这样的功能。请参阅以下拉取请求:https://github.com/go-gitea/gitea/issues/32