git merge :开发分支与主分支的交互

一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支

git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master

二、当master代码改动了,需要更新开发分支(dev)上的代码

git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev
一、详细说明:开发分支(dev)上的代码达到上线标准后,合并到主分支
  1. 切换到开发分支并拉取最新代码

    git checkout dev
    git pull
    
  2. 切换到主分支

    git checkout master
    
  3. 合并开发分支到主分支

    git merge dev
    
  4. 解决冲突(如果有)

    • 如果合并过程中出现冲突,Git 会提示哪些文件有冲突。

    • 打开这些文件,手动解决冲突。

    • 解决冲突后,添加已解决的文件:

      git add <conflicted-file>
      
  5. 完成合并并推送更改

    git commit -m "Merge dev into master"
    git push -u origin master
    
二、详细说明:当主分支代码改动后,需要更新开发分支上的代码
  1. 切换到主分支并拉取最新代码

    git checkout master
    git pull
    
  2. 切换到开发分支

    git checkout dev
    
  3. 合并主分支到开发分支

    git merge master
    
  4. 解决冲突(如果有)

    • 如果合并过程中出现冲突,Git 会提示哪些文件有冲突。

    • 打开这些文件,手动解决冲突。

    • 解决冲突后,添加已解决的文件:

      git add <conflicted-file>
      
  5. 完成合并并推送更改

    git commit -m "Merge master into dev"
    git push -u origin dev
    
补充:遇到冲突后的处理情况

当合并过程中出现冲突时,Git 会在冲突文件中插入冲突标记,帮助你识别和解决冲突。冲突文件中的冲突标记如下所示:

<<<<<<< HEAD
// 当前分支的代码
=======
// 要合并分支的代码
>>>>>>> <branch-name>

以下是一个详细的处理冲突的步骤:

  1. 识别冲突文件

    • Git 会在合并过程中提示哪些文件有冲突。例如:

      Auto-merging file.txt
      CONFLICT (content): Merge conflict in file.txt
      
  2. 打开冲突文件

    • 使用文本编辑器打开冲突文件,找到冲突标记。
  3. 手动解决冲突

    • 删除冲突标记,并根据实际情况选择保留或合并代码。例如:

      // 假设这是冲突文件的内容
      <<<<<<< HEAD
      public void methodA() {
          System.out.println("Method A");
      }
      =======
      public void methodA() {
          System.out.println("Updated Method A");
      }
      >>>>>>> dev
      

      解决后的代码:

      public void methodA() {
          System.out.println("Updated Method A");
      }
      
  4. 添加已解决的文件

    • 使用 git add 命令添加已解决的文件:

      git add file.txt
      
  5. 完成合并

    • 使用 git commit 命令完成合并:

      git commit -m "Resolve merge conflicts"
      
  6. 推送更改

    • 使用 git push 命令将更改推送到远程仓库:

      git push -u origin <branch-name>
      
相关推荐
fruge5 分钟前
git上传 项目 把node_modules也上传至仓库了,在文件.gitignore 中忽略node_modules 依然不行
大数据·git·elasticsearch
s_fox_19 分钟前
Nginx Embedded Variables 嵌入式变量解析(4)
java·网络·nginx
Jelena1577958579224 分钟前
使用Java爬虫获取1688 item_get_company 接口的公司档案信息
java·开发语言·爬虫
数据小小爬虫28 分钟前
Jsoup解析商品详情时,如何确保数据准确性?
java·爬虫
V+zmm1013438 分钟前
自驾游拼团小程序的设计与实现(ssm论文源码调试讲解)
java·数据库·微信小程序·小程序·毕业设计
坚定信念,勇往无前1 小时前
springboot单机支持1w并发,需要做哪些优化
java·spring boot·后端
丁总学Java1 小时前
`AdminAdminDTO` 和 `userSession` 对象中的字段对应起来的表格
java
心无旁骛~1 小时前
Git笔记汇总,持续更新~
笔记·git
m0_748240252 小时前
SpringMVC详解
java
剑走偏锋o.O2 小时前
Java四大框架深度剖析:MyBatis、Spring、SpringMVC与SpringBoot
java·spring boot·spring·mybatis