前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git分支操作命令及团队协作

Git分支操作命令及团队协作

作者头像
Gnep@97
发布2023-08-10 09:46:22
2620
发布2023-08-10 09:46:22
举报
文章被收录于专栏:Gnep's_Technology_Blog

前言

版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。 下面以一个图形象的表示分支的概念。

在这里插入图片描述
在这里插入图片描述

一、分支相关命令

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1、查看分支(git branch -v)

代码语言:javascript
复制
git branch -v

2、创建分支(git branch xx)

这里创建一个名为 hot-fix 的分支

代码语言:javascript
复制
git branch -v
git branch hot-fix
git branch -v
在这里插入图片描述
在这里插入图片描述

3、切换分支(git checkout xx)

1、切换到 hot-fix 分支

代码语言:javascript
复制
git checkout hot-fix
git branch -v

可以看到 hot-fix 分支前有个*,代表当前所处的分支

在这里插入图片描述
在这里插入图片描述

2、在 hot-fix 分支修改文件后查看状态,此时工作区存在未提交的hello.txt。需要重复添加暂存区-提交本地库的过程

在这里插入图片描述
在这里插入图片描述

tips:git checkout - //可以表示切换到上一个分支

把 hot-fix 做的改动添加到暂存区,并提交本地库形成历史版本及查看版本信息

代码语言:javascript
复制
git add hello.txt
git status
git commit -m "hot-fix first commit" hello.txt
git reflog
在这里插入图片描述
在这里插入图片描述

.git中的HEAD文件

在这里插入图片描述
在这里插入图片描述

4、合并分支(git merge xx)

①、正常合并 要转到想要合并到的分支上,git merge 要合并的分支

代码语言:javascript
复制
git checkout master
git reflog
git merge hot-fix
cat hello.txt
在这里插入图片描述
在这里插入图片描述

master 分支的 hello.txt 成功修改了

②、冲突合并

问:什么时候会遇到合并冲突? 答:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

1) 复现冲突: 在 master 分支:

代码语言:javascript
复制
vim hello.txt	
git add hello.txt
git commit -m "master test" hello.txt

在 hello.txt 倒数第二行新增 master test

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在 git checkout hot-fix 分支:

代码语言:javascript
复制
git checkout hot-fix
vim hello.txt
git add hello.txt
git commit -m "hot-fix test" hello.txt

在 hello.txt 倒数第一行新增 hot-fix test

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接下来依次执行下述指令:

代码语言:javascript
复制
git checkout master
git merge hot-fix
git status

根据报错可以看到由于两个分支的文件均被修改,导致合入失败,目前显示正在合并(master | MERGING)。

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
vim hello.txt

<<<<和====之间是当前分支代码 ====和>>>>之间是合并的代码 明显看到这两处代码都做了修改,那么 git 就不知道要保留哪个部分

在这里插入图片描述
在这里插入图片描述

2) 解决办法: 手动合并代码

代码语言:javascript
复制
vim hello.txt

删除多余的内容,保留如下信息:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
git status
git add hello.txt
git commit -m "merge test" 
在这里插入图片描述
在这里插入图片描述

注意:此时只能用git commit -m "merge test" 而不可以用 git commit -m "merge test" hello.txt,否则会报错如下错误 MERGING状态已不存在了,此时代码合并成功。

代码语言:javascript
复制
cat hello.txt
在这里插入图片描述
在这里插入图片描述

二、团队协作

需要用到代码托管中心,把代码推送到远程服务器

  • push 将代码上传到远程库
  • clone 将代码复制到本地
  • pull 将代码拉取到本地(pull 是本地已有文件,clone是本地无源代码)
  • fork 将代码从其他团队的远程库复制到自己的远程库

1、团队内协作

在这里插入图片描述
在这里插入图片描述

2、跨团队协作

在这里插入图片描述
在这里插入图片描述

fork 将代码从其他团队的远程库复制到自己的远程库,可以从自己的远程库clone。修改完成后push到自己的远程库。之后发送pull request向其他团队的远程库,经审核后即可使用merge合并

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、分支相关命令
    • 1、查看分支(git branch -v)
      • 2、创建分支(git branch xx)
        • 3、切换分支(git checkout xx)
          • 4、合并分支(git merge xx)
          • 二、团队协作
            • 1、团队内协作
              • 2、跨团队协作
              相关产品与服务
              Prowork 团队协同
              ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档