首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
华为云
V2EX  ›  问与答

大佬们,怎么用技术手段限制 git push --force ,避免覆盖别人的提交?

  •  
  •   earther01 · 147 天前 · 1305 次点击
    这是一个创建于 147 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天快要被这个问题搞死了,只要加上--force 就能强制覆盖远程仓库,导致别人的提交消失的无影无踪,从提交记录上还很难查到是谁进行了强制覆盖。
    大佬们,有没有什么办法能禁止强制提交呢?
    8 回复  |  直到 2018-05-25 00:39:55 +08:00
        1
    Xbluer   147 天前 via iPhone
    服务器端控制啊,gitlab 使用分支保护功能。
        2
    elgae   147 天前 via Android
    gerrit
        3
    earther01   147 天前 via iPhone
    @Xbluer gitlab 的分支保护功能好像没办法禁止 push -f 而开放普通 push,有什么特别的配置方法么
        4
    azh7138m   147 天前 via Android
        5
    CFO   147 天前 via Android
    做分支保护 必须发起 pull request 才能合并
        6
    Jakesoft   147 天前 via iPhone
    @earther01 有的 admin 可以关掉
        7
    msg7086   147 天前
    @earther01
    By default, protected branches are designed to:
    prevent their creation, if not already created, from everybody except Masters
    prevent pushes from everybody except Masters
    -> prevent anyone from force pushing to the branch
    -> prevent anyone from deleting the branch

    把分支加入保护就可以了。
    你说的开放普通 Push,就是把 Push 权限下放给 Developers。
    如果要禁止普通 Push,把 Push 权限改成 Masters 就行了。

    PS: force push 操作记录上是可以查出来的,某某人删除了多少个提交。
        8
    ShadowStar   147 天前
    在远程仓库配置 config:receive.denyNonFastForwards = true
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   667 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 20ms · UTC 20:46 · PVG 04:46 · LAX 13:46 · JFK 16:46
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1