#yyds干货盘点#Git实现分支管理

Posted 汤圆学Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#Git实现分支管理相关的知识,希望对你有一定的参考价值。

作者:汤圆

个人博客: javalover.cc

前言

分支管理指的是开发时,创建多个分支,然后在不同的分支进行开发管理,互不影响;

等到分支开发完成,再合并到主分支;

如果没有分支,那么代码还没写完就提交,会导致别人拿到的代码是不完整的;但是如果不提交,那么代码就有丢失的风险;

所以分支的好处很明显,就是代码的安全性得以提高,各个开发人员之间的代码互不干扰。

目录

  1. 创建分支
  2. 切换分支
  3. 提交分支
  4. 合并分支
  5. 删除分支
  6. 快捷方式

正文

1. 创建分支

创建分支的命令:git branch <branch name>

查看分支的命令:git branch;master前面有个*号,表示当前在master分支

PS D:\\branch-demo> git branch dev
PS D:\\branch-demo> git branch
  dev
* master

分支的示意图如下所示:可以看到,当前的Head指向的是master分支,dev和master指向同一个节点

2. 切换分支

接下来,我们切换到dev分支

切换分支命令:git switch dev

PS D:\\branch-demo> git switch dev
Switched to branch dev

切换分支后 的示意图如下所示:可以看到,当前的Head指向了dev分支

3. 提交分支

接下来,我们可以在dev上进行改动,然后再将改动提交到dev分支

操作步骤如下:我们先创建一个demo.txt文件,然后提交

PS D:\\branch-demo> git add .\\demo.txt
PS D:\\branch-demo> git commit -m "demo.txt"
[dev bd68189] demo.txt
 1 file changed, 1 insertion(+)
 create mode 100644 demo.txt

提交之后我们用git log命令查看提交记录,如下所示:可以看到最新的提交是在dev上,master指向的是旧的代码

PS D:\\branch-demo> git log
commit bd681899740d30ee0c793843e4b175d596b3430b (HEAD -> dev)
Author: jalon2015 <1121263265@qq.com>
Date:   Wed Nov 10 18:02:41 2021 +0800

    demo.txt

commit 2c053a9d5df9fcb08c29a918f7992d5b763392fc (master)
Author: jalon2015 <1121263265@qq.com>
Date:   Wed Nov 10 17:45:41 2021 +0800

    first commit

提交之后的示意图如下所示:此时dev往前移动了一步,但是master还在原地

此时我们用IDEA的git窗口,也能看到类似的示意图,如下所示:

4. 合并分支

提交之后我们就可以将dev合并到master主分支,合并之前需要先切换到master分支,再合并dev

切换分支的命令上面有提到:git switch master

合并的命令为: git merge dev;这里的意思就是将dev合并到master分支

PS D:\\branch-demo> git checkout master
Switched to branch master
PS D:\\branch-demo> git merge dev
Updating 2c053a9..bd68189
Fast-forward
 demo.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 demo.txt

此时运行git log,可以看到Head同时指向了master, dev:

PS D:\\branch-demo> git log
commit bd681899740d30ee0c793843e4b175d596b3430b (HEAD -> master, dev)
Author: jalon2015 <1121263265@qq.com>
Date:   Wed Nov 10 18:02:41 2021 +0800

    demo.txt

commit 2c053a9d5df9fcb08c29a918f7992d5b763392fc
Author: jalon2015 <1121263265@qq.com>
Date:   Wed Nov 10 17:45:41 2021 +0800

    first commit

分支合并后的示意图如下所示:

合并分支,如果有冲突,需先解决冲突,然后再合并;[如何解决分支合并冲突](解决冲突 - 廖雪峰的官方网站 (liaoxuefeng.com))

5. 重命名分支

重命名分支的命令:git branch -m &lt;old branch name&gt; &lt;new branch name&gt;

PS D:\\branch-demo> git branch -m dev newDev
PS D:\\branch-demo> git branch
* master
  newDev

这个命令可能不常用,但是知道一下也是可以的

5. 删除分支

合并完成后,我们就可以删除分支了;

但是删除分支之前,我们要先切换到其他分支,否则无法删除;

切换到其他分支:git switch master

删除分支的命令:git branch -d dev

PS D:\\branch-demo> git switch master
Switched to branch master
PS D:\\branch-demo> git branch -d dev
Deleted branch dev (was bd68189).

删除之后的示意图如下所示:dev分支没了

6. 快捷方式

上面我们的创建分支和切换分支是分开操作的,其实可以一步到位;

创建并切换分支的命令:git switch -c dev

PS D:\\branch-demo> git switch -c devSwitched to a new branch dev

总结

  • 创建分支:git branch &lt;branch name&gt;

  • 切换分支:git switch &lt;branch name&gt;
  • 查看分支:git branch;分支列表中,前面带*的就是当前分支
  • 合并分支:git merge &lt;branch name>;将指定的分支合并到当前的分支
  • 删除分支:git branch -d &lt;branch name&gt;

  • 创建并切换分支:git switch -c &lt;branch name&gt;

以上是关于#yyds干货盘点#Git实现分支管理的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#怎样使用git进行协同开发?

#yyds干货盘点# 超全面Git知识总结!

#yyds干货盘点# Git 报错:unable to update local ref

Git SSH Key 生成并添加到github/gitee步骤#yyds干货盘点#

IntelliJ IDEA 下玩转 Git !#yyds干货盘点#

#yyds干货盘点#愚公系列2022年08月 Go教学课程 017-分支结构之IF