BitBucket:如何在Android Studio中仅克隆指定分支并配置提交审批工作流
嘿,这个需求很典型,我帮你拆解成仓库配置和团队操作两个核心部分,一步步实现:
实现方案:分支权限控制 + PR审批工作流
一、先给远程仓库的Development 2分支设置保护规则(核心)
这一步是为了彻底禁止任何人直接推送代码到远程的Development 2分支,所有修改必须经过你的审批才能合并进去。以GitHub为例(GitLab、Gitee等平台操作逻辑基本一致):
- 打开你的仓库主页,点击顶部的「Settings」(设置)选项卡。
- 左侧菜单找到「Branches」(分支),进入分支保护规则页面。
- 点击「Add rule」(添加规则),在「Branch name pattern」里填入
Development 2(如果分支名带空格,注意完整输入;强烈建议把分支名改成development-2,避免后续命令行操作的麻烦)。 - 勾选以下关键选项:
- Require a pull request before merging(合并前需要拉取请求):强制所有修改必须通过PR才能合并到该分支。
- Require approvals(需要审批):设置至少1个审批通过才能合并,并且可以在后续选项里指定只有你(或者特定的审批组)能审批。
- Dismiss stale pull request approvals when new commits are pushed(当有新提交推送时,失效旧的审批):确保每次新提交都需要重新审查,避免过时的审批结果。
- Do not allow bypassing the above settings(不允许绕过上述设置):哪怕是仓库管理员也不能直接推送,保证流程严格执行(如果自己需要紧急修改,可以临时关闭,但不建议长期这么做)。
- 保存规则,这样远程的
Development 2分支就被牢牢保护起来了。
二、团队成员的日常开发流程
现在团队可以直接克隆Development 2分支,然后按照以下规范流程开发:
- 直接克隆
Development 2分支到本地:# 如果分支名带空格,必须加引号 git clone -b "Development 2" <你的仓库URL> # 改成无空格分支名的话,命令更简洁 # git clone -b development-2 <你的仓库URL> - 创建个人特性分支开发:
绝对不要直接在本地的Development 2分支上修改代码,而是创建自己的特性分支,避免和其他人的代码冲突:git checkout -b feature/[你的功能名称] # 举个例子:git checkout -b feature/user-registration - 开发、提交代码:
在特性分支上完成开发后,提交你的修改(记得写清晰的提交信息):git add . git commit -m "feat: 实现用户注册功能,包含短信验证逻辑" - 推送个人特性分支到远程仓库:
git push origin feature/user-registration - 创建PR并请求你审批:
打开仓库平台,找到你刚推送的特性分支,点击「Compare & pull request」(对比并创建拉取请求),目标分支选择Development 2,然后在审查人列表里指定你。提交PR后,你会收到系统通知。 - 合并后同步最新代码:
当你审批通过并完成PR合并后,团队成员需要切换回本地的Development 2分支,拉取最新的合并代码:
之后就可以基于最新的代码创建新的特性分支,继续下一轮开发。git checkout "Development 2" git pull origin "Development 2" # 无空格分支名的话,命令可以简化:git checkout development-2 && git pull origin development-2
小提示
- 如果团队成员不小心直接在本地的
Development 2分支上改了代码,别慌:先执行git stash暂存修改,然后创建特性分支,再用git stash pop把暂存的内容移到特性分支上提交,绝对不要尝试直接推送到远程的Development 2(因为已经被保护,推送会直接失败)。 - 建议把这个流程写进仓库的README文件里,方便团队成员随时参考,减少沟通成本。
内容的提问来源于stack exchange,提问作者Rakesh L
相关产品推荐
相关产品推荐

