乐趣区

关于git:同事说分支没什么用

后面曾经讲了大略的最罕用的 git 命令了,如果公司应用的是单分支开发,只有一个 master 分支,那能够说之前所说的能解决 80% 的问题了,这篇文章次要讲的就是多分支状况下的分支治理。

如果说正式版本须要用,然而又想不毁坏正式版本进行开发,这时候分支就非常重要了。咱们能够在分支上开发新的性能,而后再合并到主分支上,整个过程在合并之前对主分支来说是通明的。

创立分支

须要明确一点,在本人本地创立分支的意义不大,就跟简略的复制粘贴一样,无奈实现本地的 A 分支批改后 push 到近程的 A 分支。真正的开发中,是要把本地的分支和近程的分支做个关联。这样在本地的 A 分支中开发能力 push 到近程的 A 分支。

首先克隆一个本人创立的仓库,应用 git branch 查看本地分支能够看到只有一个 master;接着用git branch -a 查看所有分支,发现除了本地的 master 分支,还有近程的 devleop,feature,master 分支。

假如 master 是主分支,develop 是开发分支,feature 原本应该是个性分支,这里能够了解为补丁分支。

比方 SpringBoot4.2 是主分支,那么可能 SpringBoot5 是开发分支,也就是下个迭代。然而 SpringBoot4.3 新增了个性,批改了 bug,就是在个性分支中开发,而后合到主分支中。

仅仅是模仿,真实情况是这样子的

回到主题,近程有 3 个仓库,克隆的时候只会默认克隆主仓库,然而失常多分支开发的状况下个别是 克隆全副分支或者特定分支 的。应用git branch xxx origin/xxx 来特定的分支,一般来说是举荐本地的分支名和近程的分支名是一样的,这样便于开发。

如上,应用了git branch develop origin/develop,意思是创立了一个名为 develop 分支,并且把远端的 develop 分支克隆到本地的分支。

Branch 'develop' set up to track remote branch 'develop' from 'origin'. 直译过去就是 develop 分支设置追踪了来自 origin 的 develop 分支,只有追踪了本地提交代码能力 push 到近程仓库对应的分支。

执行完命令后,本地就有了 3 个和近程关联的分支。

切换分支

后面的 * 号和高亮的中央就是代表了以后分支,如上图即示意以后分支是 master 分支,能够应用git checkout [branchName] 来实现分支的切换。

会有提醒说切换到了 develop 分支,并且应用git branch 命令查看也能看到以后分支。如果把这个命令和上一个命令联合起来,git checkout -b [branchName] 即为创立一个分支,并且切换到该分支下。

合并分支

本地单个分支 push 到近程对应的分支就和失常的是一样的,无论咱们在哪个分支开发,最终都是为了主分支或者公布分支服务的,须要把其余分支的内容合入到主分支中。

  1. 切换到主分支,能够看到主分支只有两个文件
  2. 切换到开发分支,并且新增了一个文件

  1. 接着 add,commit,push,把它推送到近程的 develop 分支,能够看到近程的 master 分支并没有增加的文件。

接下来应该是把开发分支合并到主分支中,留神,在真正开发的过程中,个别主分支都会设置为爱护分支,咱们是没有权限的。有可能,有可能能够间接 push 到公司的近程其余分支,然而 合并到主分支须要仓库管理员,这里只是一个模仿,所以说间接在本地操作了。

  1. 首先须要切换到主分支,应用git status 能够暂存区是没有其余货色的
  2. git merge [branchName] 从指标分支中合并到以后分支,本例中就是从 develop 分支合并内容到主分支
  3. 应用git status 查看 git 状态能够看到合并后,本地的分支曾经当先近程的 master 分支了

  1. 接下来 push 后,在近程的 master 分支上就有了文件

不同的分支之间的合并就和之前单 master 开发模式中从近程本地本人的仓库 merge 到近程公司的仓库一样,会存在抵触,本篇文章就不再赘述。

删除分支

一般来说咱们是不会去删除公司的分支的。

然而可能存在着咱们不想动和公司关联的分支,所以在本地创立了一个分支,相当于一个正本。在这个没有关联近程分支的分支上开发测试实现后再合并到近程的非 master 分支,这样就可能须要把这个分支删除。

  1. 创立一个名为 backup 的分支
  2. 应用git branch -d [branchName] 删除方才创立的分支

值得注意的一点就是,如果在 A 分支下想删除 A 分支是不被容许的

创作不易,如果对你有帮忙,欢送点赞,珍藏和分享啦!

上面是集体公众号,有趣味的能够关注一下,说不定就是你的宝藏公众号哦!!!

退出移动版