Git - 多人协作流程

目录

多人协作流程

分支推送协作

分支拉取协作

删除远程分支


多人协作流程

  1. **开发者A:**在远程仓库中有一个testgit1仓库,点击管理 -> 左侧仓库成员管理 -> 申请列表 -> 邀请用户,将连接复制,发送给邀请的用户。
  1. **开发者B:**接受邀约后,可在仓库中看到开发者A的仓库。

  2. 开发者A:

  • 点击管理 -> 左侧仓库成员管理中查看到仓库中的其他成员,并赋予身份(例如:管理者、开发者、测试者等),不同的身份有不同的管理权限。
  • 拉取远程仓库到本地仓库,使两个仓库内容基本一致。
  • 起项目框架,写内容,经本地仓库推送到远程仓库中。
  1. 开发者B:
  • 开发者B不能在testgit1仓库本仓库中进行操作(重点),如果在这个仓库中操作,就使修改了开发者A的库;
  • 点击Fork,选中自己,点击确定
  • 点击头像 -> 个人主页 -> 仓库,会发现变成了两个库,一个是开发者A的库(开发者A/testgit1),一个是开发者B的库(开发者B/testgit1),应该在生成的开发者B的这个库中操作。
  • 将这个库克隆下来,然后进行添加用户、邮箱,和远程仓库连接,写代码文件。
  • vi B.txt,然后提交,并推送到远程仓库(若有冲突,将远程仓库拉取到本地仓库,并解决冲突)。
  • 要同步给开发者A,在唱K中,选中 Pull Requests -> 新建Pull Request
  1. 开发者A:
  • 开发者A在 【开发者A/testgit1】 这个库中,并不能看到开发者B提交的内容。
  • Pull Requests会接收到请求 -> 点进去,进行审核 -> 没问题,点击审核通过,测试通过
  • 点击合并分支 ,然后点击Pull Request Pull Request
  • 此时,就能看到开发者B添加的内容
  1. 开发者C:
  • 与开发者B一样进入开发者A的仓库后,点击Fork,生成一个自己的库(开发者C/testgit1)
  • 进入【开发者C/testgit1】仓库,点击仓库后的刷新,刚刚开发者A操作合并开发者B的内容,这里会显示。

到处,多人协同操作流程完毕。


分支推送协作

在testgit1仓库上操作:

1. 创建dev分支

复制代码
// 创建分支并切换到分支
git checkout -b dev

2. 推送分支

  • git push无法把分支dev推送到远程仓库

  • 方法一: 使用下面的命令推送分支
    *

    复制代码
      // 方法一
      git push --set-upstream origin dev
    • 同时本地也关联了远程分支dev
    复制代码
      git branch -av
  • 方法二: 使用带 -u 参数的命令
    *

    复制代码
      // 方法二
      git push -u origin dev

分支拉取协作

在testgit01仓库上操作:

  • 发现有远程分支,但是没有本地的dev分支

  • 这时可以创建本地的dev分支,此刻也可以修改本地分支的名字

  • 创建分支并且切换到dev分支上,而且该分支和远程分支dev关联

  • **方法一:**使用 -b 参数

    复制代码
      // git checkout -b 本地分支名 远程仓库名/远程分支名
      git checkout -b dev origin/dev
  • **方式二:**使用 --track 参数

    复制代码
      // git checkout --track 远程仓库名/远程分支名
      git checkout --track origin/dev2

删除远程分支

在testgit01仓库上操作:

1. 删除本地仓库分支dev2

  • 删除之后,会发现远程的分支dev2关联还在
复制代码
  git branch -d dev2

2. 删除远程分支关联

复制代码
  git push origin --delete dev2

在testgit1仓库上操作:

  1. 通过另一个用户来查看本地对应的远程分支的时候可以看到远程分支的变化
复制代码
  git remote show origin
  1. 查看origin远程对于的分支
复制代码
  git remote prune origin
相关推荐
悠然大月季15 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming80216 小时前
在cursor下执行GIT回退版本
git
打点计时器19 小时前
Git快速上手教程
git
我才是一卓20 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
IDIOT___IDIOT1 天前
关于 git 进行版本管理的时候 gitignore 写入忽略规则而不生效的问题
大数据·git·elasticsearch
不想看见4041 天前
Git 误删急救手册
大数据·git·elasticsearch
偷懒下载原神1 天前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
IT二叔1 天前
Git Flow03-发布流程
git
IT二叔1 天前
Git Flow08-摘樱桃
git
「QT(C++)开发工程师」1 天前
Git误操作急救手册大纲
git