Git操作-分支管理(一)

分支介绍

多个分支就是在版本库中有多条提交的记录线条,如下图所示,蓝色的master是一个分支,红色的dev也是一个分支,HEAD所指的是当前的分支:

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

创建分支

之前我们了解到,当生成git版本库的时候,会自动生成一个master分支,是主分支,HEAD指向的是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。

现在我们来创建一个新的分支dev,使用命令git checkout -b dev,表示创建了分支dev并且切换到dev分支,相当于下面两条命令git branch devgit checkout dev

然后可以用git branch来查看分支,如下图所示*所指的就是当前分支:

现在的分支状况就像下面:

合并分支

我们现在的当前分支是dev,现在对README.txt做个修改,添加一行create a branch named dev然后提交

现在dev分支的工作完成了,再git checkout master切换回master分支,切换回master分支后,再查看一个README.txt文件,刚才添加的内容不见了!因为那个提交是在dev分支上,而master分支此刻的提交点并没有变:

现在,我们把dev分支的工作成果合并到master分支上,使用命令git merge dev,表示合并指定分支dev到当前分支master上,再查看README.txt就可以看到dev分支的最新提交:

现在的分支状况就像下面:

实际上就是直接把master指向dev的当前提交,就完成了合并。

删除分支

合并完分支后,甚至可以删除dev分支。使用命令git branch -d dev,删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:

结构图:

时间: 2024-10-10 15:57:18

Git操作-分支管理(一)的相关文章

Git操作-分支管理(二)

解决冲突 场景:创建一个新的分支feature1,然后在README.txt文件里添加4 create a branch named feature1,然后在feature1分支上提交.提交后切换到master分支,再在master分支上将最后一行修改为create a new branch named feature1,再提交,现在,master分支和feature1分支各自都分别有新的提交: 此时结构图是这样的: 在这种情况下,我们尝试把两个分支合并,git merge feature1:

Git操作-分支管理(三)

bug分支 情境:当你在开发的过程中突然要修复一个被提出的bug,但是现在你当前分支上的工作还没有提交,但是工作还没完成,没法提交,而又急于修改这个bug 方法:Git提供了一个stash功能,命令:git stash,可以把当前工作现场(当前分支的工作)"储藏"起来,等以后恢复现场后继续工作.. 这样工作区就是干净的了 接着,首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支,在这个临时分支上修复bug,修复完成提交后切换到master分

git 实现分支管理项目,是羡慕管理更高效;

利用git 的分支管理的能力实现更有章法的协同开发的模式: 其实在我们进行 git init 时就创建了 master 的主分支: 那现在我如何建立第二个分支呢? :git branch local 初始时分支的内容是完全和主分支是一样的,在分支中所有的操作都不影响主分支里的情况,你可以在其中做任何修改: 如何查看分支呢? :git branch local * master 星号是表示当前所在的分支:其实两个分支一模一样,只是大家都是把master当作主分支的: 如何切换分支呢? :git c

git远程分支管理

git远程分支管理 使用分支的原则 master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上 创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并到master 开发人员应该在dev的基础上再分支成个人分支,个人分支里面开发代码,然后合并到dev分支 远程分支管理 在远程GitHub上创建dev分支 克隆远程GitHub仓库(只会克隆 apeng仓库中的master分支) [[email protected] ~]# mkdir /remot

Git 之三 分支管理

写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网资料是最全面的!如果有任何疑问,可以去官网看看! 分支   使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. Git 的一大特点就是对于分支的支持!Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快. 远程分支   在了

[git]git的分支管理

最近在折腾git,有感于git这个强大而好用的版本管理工具. 说说git分支管理的心得体会. 首先,要有个master主分支: Git主分支的名字,默认叫做Master.它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发. Git 的 “master” 分支并不是一个特殊分支. 它就跟其它分支完全没有区别. 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它. 日常开发中,要用到另外一个分支,就是Dev分支,主要用来开发,

Git的分支管理(二)

分支管理策略 git 在合并(merge)的时候有两种方式,一种是Fast forward模式,这种方式是快速模式,删除分支后,会丢掉分支信息. 另外一种是--no-ff方式(禁止Fast forward模式),Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息. Fast forward模式: $ git merge dev --no-ff方式: $ git merge --no-ff -m "merge with no-ff" dev 因为本次合

[Git]3_分支管理

目录 创建与合并分支 解决冲突 分支管理策略 不使用Fast forward模式 分支策略 Bug分支 Feature分支 学习资源来自廖雪峰的Git教程 本文简短记忆学习内容,主要是使用命令,方便以后查看,完整学习请查看廖雪峰Git教程 操作过程在Ubuntu18.04完成,其他平台没有尝试 创建与合并分支 创建branch $ git branch <branch name> 切换branch $ git checkout dev 上面两步也可以通过下面一步来完成 $ git checko

git 操作分支

1. git 查看本地分支:git branch 2. git 查看所有分支:git branch -a 3. git 新建本地分支:git branch branchName 4. git 新建分支并切换: git checkout -b branchName 5. git 删除本地分支:git branch -d branchName 6. git 批量删除匹配到的本地分支: git branch |grep 'branchName' |xargs git branch -d 7. git