git 常规设置

3,572 阅读2分钟

git锁定分支,使它的不能被分段/提交 ( 仅合并/等) 在项目开发中,为了确保主分支的准确性,需要对master分支进行锁定,只允许merge 不能直接提交代码,因此需要对master分支进行锁定

锁定受保护分支 在对 Git 不熟悉的时候,时常苦恼于各个分支不受约束,任何开发人员都可以向任何分支直接推送任何提交,各种未经审查的代码、花样百出的 Bug 就这样流窜在预发布分支上。 其实我们可以通过 GitLab 的 受保护分支(Protected Branches) 功能解决该问题,该功能可用于:

  • 阻止 Master 角色以外的开发人员直接向此类分支推送代码,保持稳定分支的安全性;
  • 在向受保护分支合并代码前,强制进行代码审查。 接下来我们就使用这项功能,锁定我们的受保护分支——主分支 master 和预发布分支 release-* ,以阻止 Developer 直接向这两类分支中推送代码:

锁定后,Developer 推送代码将会报错:

操作流程:

在git中直接设置: 设置(settings) -> repository -> Protected Branches 选择需要锁定的分支

提交前设置(待验证) #!/bin/bash if [[ git symbolic-ref HEAD =="refs/heads/master" ]] then echo"You cannot commit in master!" exit 1 fi

在 .git/hooks/ 中输入名为 pre-commit的文件 它将阻止你从commiting进入分支 master 。你可以轻松定制它以添加更多分支或者个性化错误消息等。 如果你在 master 中进行修改,但是希望在 somebranch 中提交它们,则需要执行以下操作: 复制代码 git stash git checkout somebranch git stash apply 然后在 somebranch 中,准备好提交 !