Git 分支管理

2019-12-31  本文已影响0人  jun0718

为什么要分支管理

一直认为Git是很强大的利器,不仅仅是代码开发,平时编辑自己的文档,也可以尝试用Git来维护。今天我们来说说分支管理为什么这么受欢迎?

上述场景任何一个问题产生都很麻烦。那Git是怎么做的呢?一个Git项目只会有一个Master时间线,在这条时间线基础之上可以任意创建属于自己的分支,不过需要遵循以下两个原则:

因为代码开发都在自己的分支,所以开发不同的代码块不会有冲突,互相覆盖代码就更不存在了;当功能开发完成后,Merge到Master之前还需要代码Review,一方面保证分支代码是合乎逻辑的,另一方面新提交的代码和Master分支代码不会有冲突;如此一来,线上环境的代码会与Maser一致,只要对合并到Master的代码认真检查,线上环境就不会有问题。在我们开始实践操作之前,有一些概念需要澄清一下:

如果想对Git流程有更深的理解,结合图形会更有趣。

常用操作

当有新功能需求的时候,需要更新仓库最新的代码进行开发,建议每开发一个新功能点,新建单独的分支。

$ git branch //查看当前分支,可以看到当前处于Master分支
> * master
$ git branch test //新建名称为test的分支
> git checkout test // 切换到test分支
> Switched to branch 'test'
$ git branch // 再次查看分支状态
  master
* test

上述的新建分支分为两句操作,也可以用下面这一句来完成:

$ git checkout -b test

比如我尝试在新建的test分支上添加了一个文件。

$ touch testFile //新建一个testFile的文件
testfile内容
如果此时你切换到Master分支,会发现并不存在这个文件,这是因为当前分支操作在test分支上。
// 将文件提交到test分支
$ git add testfile 
$ git commit -m 'Add test file by test branch'

至此为止,合并代码是最后一个步骤,会将每个人做的变更合并到Master这条时间线上。

$ git merge test //合并指定分支当当前操作分支

当功能开发完成后,需要删除功能分支。

$ git branch -d test //删除test分支

团队开发

项目开发中,大家需要共用一个远程仓库,比如常用的Github,这个代码托管平台可以方便开发人员及时更新最新代码,除此以外,Github还支持Code Review,以保证代码的质量。下面列一下Github项目操作与本地项目操作的区别:

$ git clone RepoUrl //克隆项目
$ git pull  //将最新的代码拉取并合并
$ git fetch origin branch_name // 拉取最新远程分支代码
$ git push origin branch_name //将本地分支内容提交到远程
$ git branch --set-upstream branch-name origin/branch_name //建立本地分支与远程分支的关联
$ git push -d origin branch_name // 删除远程分支

初学者在使用Github的时候,难免会遇到各种异常,希望这篇文章能够帮助到您。强烈推荐大家参考官方文档

上一篇 下一篇

猜你喜欢

热点阅读