git团队开发流程

怎么使用github在团队里进行协同开发

使用场景

(1) 创建项目和软件版本库,在版本库中建立“src”和“doc”两个文件夹,分别存储软件系统的源代码和报告文档
(2) 建立master、develop以及成员分支(a_branch),将当前版本存入master目录下
(3) 实践操作参考:组长组员两个人协同开发:组长负责维护开发分支dev,组员向dev上传提交;当dev测试合适后,组长有唯一权限向master上传作为最终结果。
① 远程仓库有master和dev两个分支
② 组长本地有master和dev分支,分别关联对应的远程分支
③ 组员本地只有一个分支,关联远程dev分支【可以选择clone某一个远程分支到本地】
④ 具体开发流程是:

  1. 组长和组员分别在各自的本地dev分支开发,有阶段性成果后push到远程dev【若有冲突,解决冲突再合并】
  2. 当开发完成、结果稳定后,组长将本地的master和dev分支merge,再把master分支push上去

上面是关于团队开发git的适用场景

解决方案

以下是使用 GitHub 进行协同开发的完整操作流程

1. 初始化远程仓库(组长操作)

  1. 创建远程仓库(GitHub):
    • 创建 master 分支(默认存在)
    • 创建 dev 分支:git branch dev && git push origin dev

2. 组长本地设置

  1. 克隆仓库并关联分支:
    git clone <仓库URL>
    cd <仓库目录>
    
    # 创建并切换到 dev 分支,关联远程 dev
    git checkout -b dev origin/dev
    
    # 切换到 master 分支,关联远程 master
    git checkout master
    git branch -u origin/master
    

3. 组员本地设置

  1. 只克隆 dev 分支(避免下载无关分支):
    git clone -b dev --single-branch <仓库URL>
    cd <仓库目录>
    

4. 协同开发流程

(1) 日常开发(组长和组员)
  1. 确保在 dev 分支工作:

    git checkout dev
    
  2. 提交代码到本地:

    git add .
    git commit -m "提交描述"
    
  3. 推送前必须拉取最新代码(避免冲突):

    git pull origin dev
    
  4. 解决冲突(如果有):

    • 手动编辑冲突文件
    • 重新提交:git add . && git commit -m "解决冲突"
  5. 推送代码到远程 dev

    git push origin dev
    

(2) 合并到 master(仅组长操作)
  1. 切换到 master 分支并拉取最新代码:

    git checkout master
    git pull origin master
    
  2. 合并 devmaster

    git merge dev
    
  3. 推送 master 到远程:

    git push origin master
    

5. 权限管理(关键点)

  1. GitHub 仓库设置:
    • 保护 master 分支:禁止直接推送,仅允许通过合并(Settings → Branches → Add rule)
    • 设置组长为管理员,组员为普通成员(Settings → Collaborators)

6. 解决常见问题

  • 组员推送被拒绝:确保已关联远程分支 dev,且权限正确
  • 分支落后远程:先执行 git pull --rebase origin dev 再推送
  • 误操作恢复:使用 git reflog 找回历史记录

流程图

组长本地:master ↔ dev(关联远程 master/dev)
组员本地:dev(仅关联远程 dev)
开发流程:组员 push → 远程 dev → 组长 merge → 远程 master

通过此流程,既能保证主分支稳定性,又能实现高效的团队协作。

你可能感兴趣的:(git,团队开发)