GitHub 的分支保护一般要做哪些处理?

因为我一直在小公司搬砖,没什么经验也没人分享,所以想请教下大家一般怎么设置的。

目前我这边就做了个需要提PR才能merge:
image.png

不知道大家是怎么设置的。

阅读 3.7k
2 个回答

根据经验,3到5人的团队,可以设置一个develop分支(名字也可以是 main/master),这个分支不允许直接 push commit,且只允许一个管理员进行 merge 到此分支的操作。

更多人参与的项目,最好也只设一个管理员,管理员也可以直接 push commit,避免过多形式化的PR。

开发时各自fork一个分支出来开发,开发完了提交PR。

除了在服务端设置保护,在本地也可以设置保护,比如设置一个 commit 之前自动执行的 hook 脚本:

% cat ./.git/hooks/pre-commit
#!/bin/sh

branch="$(git rev-parse --abbrev-ref HEAD)"

if [ "$branch" = "develop" ]; then
  echo "You can't commit directly to develop branch"
  exit 1
fi
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

一个人开发没必要设置,如果想也可以
多人开发的话,主要分支如main/master/develop分支保护起来, 需要代码库负责人确认后手动合并

保护分支,主要是防止有人乱推代码,比如合并错误代码,强制覆盖代码

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