git服务器上防止切换分支

问题场景:服务器上的git分支为master,但是有时候可能误操作切到别的分支(但这不是问题的重点)。就是问问大神有没有什么办法,在服务器上默认为master分支,当用git checkout 切换别的分支的时候提示输入密码。

阅读 3.6k
2 个回答

我猜你是把直接用git来部署了吧,不是 @xiaoyao9184 说的那种建git服务器的情况。

最简单暴力是让.git/HEAD不可修改:

 sudo chattr +i .git/HEAD

但是不行,虽然不能换分支,但是文件会还是被checkout。

或者可以试一下post-checkout hook,checkout之后看是不是master,不是就切回去。

实在不行就fork一个git。

甭想,服务器上的是裸库,不存在切换分支概念,gitlab也只能做到分支保护非法提交,权限也就精确到库级别

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进