版本控制之git分支

本文详细介绍了Git的分支管理,包括分支的理解、创建、切换、合并及冲突解决。Git分支是可变指针,用于从主线分离进行独立开发。在合并时可能会遇到冲突,需手动解决。通过gitbranch命令可以查看、管理分支,使用gitmerge进行合并,并用gitstatus检查冲突。掌握好这些操作,能有效提高团队协作效率。
摘要由CSDN通过智能技术生成

一、分支理解

(1)文件保存

    GIT保存的不是文件,而是一系列不同时刻的快照

(2)首次提交

    首次提交的对象中有五个对象:三个blob对象(保存着文件快照)、一个树对象(记录着目录结果和blob对象索引)以及一个提交对象(包括指向书对象的指针和所有提交对象)。

(3)修改后再提交

做出修改之后再次提交,如此产生的提交对象会包含一个指向上次提交对象(父对象)的指针。

 (4)GIT分支

     GIT分支本质上仅仅是指向提交对象的可变指针。默认分支的名称是master。

简单来说,GIT分支就是从主线上分离出来的一个支路。在操作时不会影响到主线的操作,但又可以在主线的基础上进行一些修改,在解决问题之后,再次合并到主线上。

举例如下:

二、分支操作

(1)分支创建

     GIT分支创建就是在目前最后一次提交的快照上创建一个可以移动的新指针。

      

如上图:创建一个名为testing的分支

git branch testing

拓展:

Git如何知道自己在哪一个分支上?

Git中有一个HEAD的特殊指针,指向当前所在的本地分支。

查看当前在哪个分支上

git log --oneline --decorate

(2) 分支切换

切换到一个已存在的分支:

 此时,HEAD指向testing分支

 此时重新提交,即可发现此时HEAD指针如下

此时,切换回master分支

 

拓展:查看分支历史

 拓展:创建新分支并切换

git checkout -b 分支名

 (3)分支的合并

分支的合并 

git merge 分支名

分支删除

git branch -d 分支名

(4)遇到冲突时的分支合并

问题描述:在两个不同的分支zing,对同一个文件的同一部分进行了不同的修改,Git就没办法进行合并。

问题解析:此时Git做了合并之后,没有自动的创建一个新的合并提交。而是暂停,等待人工进行解决冲突。

问题解决:在发生合并冲突后,使用git status来查看哪里不一致导致未合并。之后及时进行修改。

(5)分支管理

①、git branch

该命令不加任何参数就是列出所有的分支

加*的分支,是代表当前HEAD指针所指向的分支。 

②、git branch -v

该命令是查看每一个分支的最后一次提交。

 ③、git branch --merged/--no-merged

该命令是查看分支是否合并

git branch --merged :查看那些分支已经合并到当前分支。结果中为加*的分支即可以删除掉。

git branch --no-merged:查看所有未合并工作的分支。

④、git branch -D 分支名

该命令可以强制删除分支并丢掉目前提交的所有。

 三、问题

(1)分支合并

一般在进行git操作的时候出现Already up to date.问题有两种情况

  一、当前分支的文件和远程仓库的文件不统一,这时候就需要将远程仓库的文件同步到本地仓库后再merge

    git pull origin 分支名         #  更新本地仓库数据

    git merge 要合并的分支名    # 重新合并分支

    git push origin 远程分支名      #  提交合并后的数据

  二、本地仓库有新增的文件没有add和commit

    git add .           

    git commit -m "描述信息"

    git merge 要合并的分支名    # 重新合并分支

    git push origin 远程分支名      #  提交合并后的数据

 参考:GIT官方分支解释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值