首页 > 其他分享 >git合并分支

git合并分支

时间:2024-03-24 18:12:11浏览次数:40  
标签:git 代码 合并 dev gc 分支

前言

  多人协作开发的时候,需要对项目代码做版本管理。大家做新版本的开发,需要基于上一个版本新建一个自己的开发分支,自己开发分支的程序测试通过后,就要合到线上的分支以供发版,在合并分支的时候可能会有冲突,那么需要解决冲突后提交合并的代码。本篇教程主要讲解使用git merge来进行分支合并,git rebase也可以做分支合并,本教程先不讲,git merge在合并分支时可以保留子分支的commit记录,下面就来实际地演示如何合并分支:

1.新建分支

  开发人员lxj,基于master分支新建了自己的开发分支dev_1_1_0_lxj,并且在该分支上进行了开发并提交了代码,以下是他的操作步骤:

① git checkout -b dev_1_1_0_lxj

② git push --set-upstream origin dev_1_1_0_lxj

③ 编写代码。创建新文件main.py,写了一个两数相乘的程序

④ git add .

⑤ git commt -m "feat:两数相乘"

⑥ git push

  开发人员gc,基于master分支新建了自己的开发分支dev_1_1_0_gc,并且在该分支上进行了开发并提交了代码,以下是他的操作步骤:

① git checkout -b dev_1_1_0_gc

② git push --set-upstream origin dev_1_1_0_gc

③ 编写代码。创建新文件main.py,写了一个三数相乘的程序

④ git add .

⑤ git commt -m "feat:三数相乘"

⑥ git push

2.合并分支

  首先,将dev_1_1_0_lxj合并到master分支上,以下是操作步骤:

①git checkout master

②git merge origin/dev_1_1_0_lxj

③git push

  然后,将dev_1_1_0_gc合并到master分支上,以下是操作步骤:

①git checkout master

②git merge origin/dev_1_1_0_gc

  在执行合并命令git merge origin/dev_1_1_0_gc的时候,由于lxj和gc都编辑了main.py文件中同一行的代码,所以合并分支失败,需要解决冲突,然后提交代码,下面是报的冲突信息:

  同时,在编译器Pycharm中,main.py也是报红的状态,如下图所示,下面对冲突中哪部分是谁的代码做了说明。在这种情况下,需要和其他开发人员核对一下,确定要保留下来的代码是哪些,别把别人有用的代码删了!!!

<<<<<<< HEAD
本地代码
=======
拉下来的代码
>>>>>>>

  确定了要保留的代码后,如下图所示,需要提交合并后的代码,以下是操作步骤:

①git add .

②git commit -m "feat:合并冲突"

③git push

3.总结

  以上就是多人协作开发时,需要进行分支合并的操作流程,本教程Demo地址。学会分支合并方便项目的版本控制。后面一期,我会出一个git的进阶教程,git cherry-pick的使用,用于“挑拣”提交,当我们不想把本地的整个分支进行合并时,就可以使用git cherry-pick将某几次提交合入到本地分支上。

标签:git,代码,合并,dev,gc,分支
From: https://www.cnblogs.com/xinjieli/p/18092752

相关文章

  • git tag -a v1.2.0 -m "version: 1.2.0" 这个是什么意思
    gittag-av1.2.0-m"version:1.2.0"这个是什么意思gittag-av1.2.0-m"version:1.2.0"是Git命令行中创建带有注解(annotated)标签的操作。具体含义和作用如下:gittag:基础命令,用于创建、列出、删除或校验Git标签。-a:选项指定创建一个带有注解的标签(annotate......
  • Windows下安装git服务器
    Windows平台下Git服务器搭建该文章转自:https://www.cnblogs.com/android-joker/p/4513125.html安装和配置Java运行环境1:下载Java运行环境,下载地址:https://www.java.com/zh-CN/download/manual.jsp2:安装jre,配置java环境变量3:右键”计算机”=>"属性"=>"高级系统设置"......
  • github无法访问的问题
    Windows10通过nslookup命令获取GitHub域名服务器地址,然后ping该地址nslookupgithub.comping域名服务器地址发现20.205.243.166能稳定ping通,但是浏览器却打不开接着使用管理员身份运行notepad++,然后打开文件C:\Windows\System32\drivers\etc\hosts,在最后一行加上以下代码......
  • github无法提交代码问题
    问题描述提交代码到个人仓库的时候发现报错,认证失败Usernamefor'https://github.com':hywingPasswordfor'https://[email protected]':remote:SupportforpasswordauthenticationwasremovedonAugust13,2021.remote:Pleaseseehttps://docs.github.com/en/......
  • 分支和循环(上)if 和switch语句
    一:C语言支持的结构1.顺序结构C语言中的顺序结构是最基本的控制结构,它按照代码的书写顺序,从上到下,从左到右依次执行。在顺序结构中,程序按照代码的书写顺序执行,没有任何的跳转或分支。顺序结构的主要特点是:1.**顺序执行**:程序按照代码的书写顺序,从上到下,从左到右依次执行。......
  • P9746 「KDOI-06-S」合并序列
    P9746「KDOI-06-S」合并序列经典区间dp+预处理不难设计状态\(f_{l,r}\)表示\([l,r]\)能否变为一个数,转移也简单,枚举三个区间,满足\(f_{i,a}=f_{b,c}=f_{d,r}=1\)且异或和为\(0\)。复杂度为\(O(n^6)\)。设异或和为\(s_{l,r}\)。考虑优化,瓶颈在于转移需要枚举三个区间......
  • 自动同步 Github 仓库到 Gitee 仓库
    自动同步你的Github仓库到Gitee仓库个人公私钥的创建ssh-keygen-ted25519-C"GiteeSSHKeyforGithubAction"输出,如:Generatingpublic/privateed25519keypair.Enterfileinwhichtosavethekey(/home/git/.ssh/id_ed25519):#输入保存路径Enterpassphra......
  • python合并多个csv文件需要注意的问题(合并多个列名问题)
    问题描述起初我使用python语言合并多个csv文件时,存在这几个csv文件有不止一个列名相同,仅仅依靠一个列名内容进行合并;就很容易造成相同列名对应相同内容分别占据了两个列,感官极为不好,还会影响到后面的数据清洗;问题解决#在on的这里加一个中括号,这样就能够同时包括多个列名,依据......
  • https://github.com/google/adb-sync
    大致的实现方式:是一个python文件,在windows上就pythonadb-sync-R-t-n--dry-run/storage/emulated/0C:\a\b这样运行 其中本机系统的文件列表和修改时间获取就用os库(importos)手机上的文件列表和修改时间获取就用ls-al     https://blog.csdn.net/chabb/ar......
  • idea更新gitlab突然报错
    年前还用的好好的项目年后回来更新直接失败了,前后端都白搭,一样的报错:Updatefailed/opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_logger.rb:72:inwrite:Nospaceleftondevice@io_write-/var/log/gitlab/gitlab-shell/gitlab-shell.log(Errno::ENOSPC)f......