【问题标题】:Rejecting pushed files拒绝推送的文件
【发布时间】:2025-12-07 23:45:02
【问题描述】:

我有两个分支,一个用于发布,一个用于生产。所有开发人员都将他们的更改推送到生产环境,而集成商则将更改(合并)发布。有没有办法可以拒绝特定用户推送的更改?下面给出了两个用例。

  1. 更改将用户的更改推到首位。
  2. 没有在用户更改之上推送任何更改。

【问题讨论】:

  • 我认为解决方案可能是让两个分支存在于两个单独的存储库中。然后每个人都有权推到其中一个,但不能推到另一个。
  • 假设一个用户推送了一些更改,另外两个用户推送了它,有没有办法我可以选择性地将最后的更改带到另一个流。我更喜欢拒绝第一次推送,所以我不需要每次都选择性地合并。

标签: git


【解决方案1】:

一种解决方案是使用Gitolite,它具有branch-level access management
如果您使用的是带有身份验证的协议,Gitolite 将manage the authorization part

【讨论】:

  • 非常感谢您的回复,我确实使用 gitolite。我们有一组用户可以将更改推送到生产分支。访问生产流的人错误地推送了破坏整个系统的更改,有没有办法回滚?
  • @maesstromani:如果人们已经克隆了这些更改,git revert 会更好。请参阅*.com/questions/6971717/… 了解两种可能的选择。
  • 非常感谢,我会试试的。