gitlab团队协作开发

由于之前总是自己的项目自己开发维护,不涉及多人协作,因此对于git的使用始终处于比较初级的阶段,很少用git的一些较为高级的用法。最近涉及多人协作开发,在此记录一下git的操作流程。

本文使用的代码版本控制平台为实验室自建的gitlab,在界面风格上稍微和github有些区别,但总体都是一样的。

这里主要记录两种团队协作操作git的方式:

  • 开发人员使用fork
  • 开发人员不使用fork

使用fork

  • 项目负责人在gitlab上新建一个项目,并分享URL给开发人员
  • 开发人员在负责人的gitlab项目页面上点击“fork”按钮,将此项目fork到自己的gitlab上,这相当于是从负责人那拷贝了一份项目副本,无论开发人员如何修改代码都不会影响负责人那master分支上的代码
  • 然后开发人员可以根据自己的项目分工,像对待普通项目一样做clone、add、commit、push等操作
  • 如果开发人员人为一个小模块做好了,可以点击“pull request”按钮,向负责人发送代码合并请求,要合并的代码文件也会以列表的形式同时发送给负责人,此时负责人会看到开发人员的请求,经审核如果代码没问题则会合并模块,并向开发人员发送确认合并的通知

有的时候项目负责人也在开发,在不断更新项目,如何也让自己Github上的也跟着同步,这里参考这篇博文
http://blog.csdn.net/sjt19910311/article/details/50596714

不使用fork

  1. 负责人为开发人员分别创建开发分支(namedev_branch)

    • 项目负责人在gitlab上新建一个项目,并为每一个开发人员创建一个开发分支(namedev_branch)
    • 开发人员clone项目之后,经git branch检查发现本地只有master分支,因此也需要把属于自己的开发分支也一起获取下来

      $ git fetch origin namedev_branch:namedev_branch
      //拉取远程的一个叫namedev_branch的分支,并在本地创建一个叫namedev_branch的分支和远程的分支匹配
    • 切换到namedev_branch分支

      $ git checkout namedev_branch
    • 之后的操作如同对待普通项目一样

      $ git add hello.py
      $ git commit -m "add hello.py"
      $ git push -u origin namedev_branch //需要注意,是push到远程的namedev_branch分支
  2. 负责人不为开发人员分别创建开发分支
    虽然项目负责人不分别为开发人员创建分支,但是需要把他们添加到一个team中,否则开发人员在向项目push自己的开发分支时遇到权限错误

    • 开发人员在把项目clone之后需要为自己新建一个开发分支(namedev_branch),因为经由git branch查看发现本地只有master分支

      $ git branch namedev_branch  //新建分支
      $ git checkout namedev_branch  //切换到开发分支
      $ git push origin namedev_branch  //将新建的开发分支push到远程项目上
    • 之后的操作如同对待普通项目一样(是在namedev_branch分支进行操作)

      $ git add hello.py
      $ git commit -m "add hello.py"
      $ git push -u origin namedev_branch //需要注意,是push到远程的namedev_branch分支

之后,项目负责人可以在项目的gitlab主页上看到每个开发人员的工作进度,并考虑何时merge开发人员的分支到master分支上以完善项目


UPDATE

如何更新已经fork的代码
  • 首先要先确定一下是否建立了主repo的远程源:

    git remote -v
  • 如果里面只能看到你自己的两个源(fetch 和 push),那就需要添加主repo的源:

    git remote add upstream https://github.com/被fork的仓库.git
    git remote -v //能看到upstream了
  • fetch源分支的新版本到本地

    git fetch upstream
  • 合并本地两个版本的代码:

    git merge upstream/master
  • 将在本地合并后的代码push到自己的github上去,以更新github上fork的仓库

    git push origin master
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLab是一个基于Git的代码托管和协作开发平台,它提供了丰富的功能来帮助团队进行多人协作开发。下面是一个常见的GitLab多人协作开发流程: 1. 创建项目:在GitLab上创建一个新的项目,或者将现有的项目导入到GitLab中。 2. 克隆项目:团队成员使用Git命令或者Git客户端工具将项目克隆到本地开发环境中。 3. 创建分支:每个团队成员基于主分支(通常是`master`)创建自己的开发分支,可以使用命令`git checkout -b <branch_name>`来创建并切换到新的分支。 4. 进行开发团队成员在各自的分支上进行代码开发和修改。 5. 提交代码:当一个团队成员完成某个功能或解决一个问题时,他们会将代码提交到自己的分支上,使用命令`git add .`将修改的文件添加到暂存区,然后使用`git commit -m "commit message"`提交代码。 6. 推送分支:当团队成员完成代码提交后,他们可以使用命令`git push origin <branch_name>`将分支推送到GitLab服务器上。 7. 发起合并请求:在GitLab上,团队成员可以发起合并请求(Merge Request),将自己的分支合并到主分支上。在合并请求中,可以进行代码审查、讨论和解决冲突等操作。 8. 审查和合并:其他团队成员可以对合并请求进行审查,并提供反馈和建议。如果一切顺利,项目的维护者可以将合并请求合并到主分支中。 9. 持续集成和部署:GitLab还提供了内置的持续集成和部署功能,可以自动运行测试、构建和部署代码。 10. 更新本地仓库:团队成员可以定期使用`git pull origin <branch_name>`命令更新本地仓库,获取其他团队成员的最新代码。 通过以上流程,团队成员可以高效地协作开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值