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>
相关推荐
wuminyu3 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
txxzjmzlh3 小时前
SpringBoot 配置⽂件
java·spring boot·spring
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3274 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
独泪了无痕4 小时前
Hutool之LocalDateTimeUtil:让时间间隔操作如虎添翼
java
三无少女指南6 小时前
从这里开始:Java 后端与 AI 工程的三条阅读路线
java·学习路线·ai工程
叼烟扛炮6 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
香蕉大香蕉(06敬畏市场)6 小时前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
nice_lcj5206 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
骑着蜗牛撵大象3277 小时前
2026 后端 AI 工程化:Spring AI 管调用、MCP 管工具、Agent 内嵌管自治
java·人工智能·后端·spring·ai·可观测性·mcp