Skip to content

分支工作流模拟

中等约 25 分钟

你将构建什么

在主分支上创建功能分支开发新功能,修改文件后合并回主分支。模拟团队协作中常见的分支工作流,理解分支如何隔离不同功能的开发。

学习目标

  • 用 git branch 创建分支、git checkout 切换分支
  • 在不同分支上独立修改文件
  • 用 git merge 把功能分支合并回主分支
  • 理解分支隔离和合并的意义

前置要求

  • 掌握 git init、add、commit 基本工作流
  • 已完成前两个 Git 项目或具备同等基础

步骤

  1. 1

    初始化仓库并创建主分支提交

    创建新目录 branch-practice,git init 初始化。创建 main.txt 写入“主分支内容”,提交。默认分支可能是 master 或 main。

    代码
    mkdir branch-practice
    cd branch-practice
    git init
    echo "主分支内容" > main.txt
    git add main.txt
    git commit -m "主分支初始提交"

    预期结果

    仓库创建完成,主分支有一条提交。

  2. 2

    创建并切换到功能分支

    用 git branch feature-login 创建功能分支,git checkout feature-login 切换过去。也可以用 git checkout -b feature-login 一步完成创建并切换。

    代码
    git checkout -b feature-login
    # 等价于:
    # git branch feature-login
    # git checkout feature-login

    预期结果

    切换到 feature-login 分支,命令行提示符可能显示当前分支名。

  3. 3

    在功能分支上开发

    在 feature-login 分支上创建 login.txt 写入“登录功能”,提交。这个修改只存在于功能分支,主分支不受影响。

    代码
    echo "登录功能" > login.txt
    git add login.txt
    git commit -m "添加登录功能"

    预期结果

    feature-login 分支多了一条提交,主分支不变。

  4. 4

    切换回主分支并合并

    git checkout main 切回主分支,确认 login.txt 不存在(它在功能分支上)。用 git merge feature-login 把功能分支合并进来。

    代码
    git checkout main
    ls  # 确认没有 login.txt
    git merge feature-login
    ls  # 合并后 login.txt 出现

    预期结果

    合并后主分支有了 login.txt,git log 能看到功能分支的提交。

  5. 5

    模拟合并冲突并解决

    创建新分支 feature-styling,在两个分支上同时修改 main.txt 的同一行,合并时会产生冲突。手动编辑文件解决冲突后提交。

    代码
    git checkout -b feature-styling
    echo "样式分支修改" > main.txt
    git commit -am "样式分支修改 main.txt"
    
    git checkout main
    echo "主分支修改" > main.txt
    git commit -am "主分支修改 main.txt"
    
    git merge feature-styling
    # 冲突!手动编辑 main.txt 选择保留内容
    git add main.txt
    git commit -m "解决合并冲突"

    预期结果

    合并时提示冲突,解决后提交完成合并。

自己动手试试

你学到了什么

你掌握了分支工作流——这是 Git 最强大的功能。分支让你可以并行开发多个功能而不互相干扰,合并时如果改了同一行就需要手动解决冲突。团队协作中,功能分支是标准实践。

相关资源

相关课程

相关练习

相关工具

相关参考文档

相关错误

相关术语

相关术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

相关错误

用大白话解释常见错误——什么意思、为什么发生、如何修复。

← 返回主题