Git学习之路(3)——分支

分支(branch)

为什么使用分支

  • 如果你希望为项目增加新特性,但很可能会影响当前可正常工作的代码。对于该项目的活跃用户而言,这是很糟糕的事情。与其将特性加入到其它人正在使用的master分支,更好的方法是在仓库的其它分支中变更代码。
  • 更重要的是,Git其设计用于协作。如果所有人都在你代码仓库的master分支上操作,会引发很多混乱。对编程语言或项目的知识和阅历因人而异;有些人可能会编写有错误或缺陷的代码,也可能会编写你觉得不适合该项目的代码。使用分支可以让你核验他人的贡献并选择适合的加入到项目中。(这里假设你是代码库唯一的所有者,希望对增加到项目中的代码有完全的控制。在真实的项目中,代码库有多个具有合并代码权限的所有者)

使用分支的好处

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支常用命令

查看当前分支

1
git branch -v

创建分支

1
git branch branch_name

删除分支

1
git branch -d branch_name

修改分支

1
git branch -m oldname newname

切换分支

1
git checkout branch_name

合并分支

1
git merge branch_name

经过自己的测试,也是有点摸清楚了:

按如下顺序操作:

  1. 创建分支 s2
  2. 切换到 s2 分支
  3. 修改文件 test
  4. 切换回 master 分支
  5. 合并 s2 分支

那么此时,我修改的 test 文件会被替换到当前 master 分支。

如果在创建分支之后,合并分支之前,master 分支的 test 被修改过,那么则会造成冲突,我们必须解决冲突,此时工作区的此文件会展示两个分支的代码区别并 diff 标注出来。我们可以选择合适的代码留下,不合适的代码保留原版本。如果我觉得此次合并不合适后悔了,可以使用 git merge --abort 来取消合并。

解决冲突之后,我们需要重新提交一遍才可以完成代码库的修改。