Git分支语法及其使用

最近在原来的超清图像算法基础上开发迭代的黑白图片上色算法,对于git的分支使用要求大大提高,因此撰写本文总结有关于git分支的入门使用方法。同时要牢记github本身就是鼓励支持用户大量的使用分支来帮助开发的。

分支主要是有关于git checkout的灵活应用,checkout主要是通过.git 文件夹下的HEAD文件指向,来实现 git 文件夹不同分支的切换。


1、分支建立、切换与删除

分支建立:

$ git checkout -b iss53

这一句命令相当于如下两句命令:

$ git branch iss53
$ git checkout iss53

git branch可以查看目前开发的目录处于master或者分支下,单纯的git checkout相当于是分支切换语句

2、分支删除:

删除本地分支:

$ git branch -d hotfix

删除远程分支

git push origin --delete <hotfix>
3、分支拉取

本地空空如也,我们需要start from scratch,所谓筚路蓝缕,以启山林者也
我们每次使用命令:git clone git@gitlab.xxx.com:xxxxx.git,拉取的工程默认是这个仓库的 master 分支。所以应该如何切换到我们想要施展拳脚的指定分支呢?

首先查看目前已有的分支:
git branch -r #查看远程分支 
或者 git branch -a #查看所有分支

接着新建分支:推荐方法二,经过验证

(1)git checkout -b mybranch origin/mybranch(newBranch指分支名,已使用是ok的)  

(2)git fetch 获取远程所有分支 -- 此步骤经验证可以满足需求
	git branch -r 可以看到所有远程分支,假设有一个分支叫origin/mybranch
    git checkout mybranch即可,会在本地新建一个同名分支,并与该远程分支关联
    #git checkout origin/mybranch 会进入detached head状态,不会在本地新建分支,不要这样写
    git pull origin mybranch:mybranch
    如果git pull不指定最后的冒号结构,则需要制定对应的远程分支git branch --set-upstream-to=origin/mybranch

除此之外可以选定分支进行git clone,此时需要撰写的语句如下,但是此种download方式知识免于进行分支切换,完整的git文件还是会被download下来。

git clone -b 分支名称 master主分支的git仓库地址
git clone -b EGVSR https://github.com/hiterjoshua/BasicSR.git --depth=1
4、分支推送

无论远端是否存在想要建立的分支,我们都可以直接进行推送

git push origin 本地分支:远端希望创建的分支
git push origin hotfix:hotfix
5、分支 detached head

在之前的解释中,我们了解到 git checkout 本质上是修改HEAD里面的内容来让它指向不同分支的,而HEAD文件指向的分支就是我们当前的分支。但是有时候HEAD不会指向任何分支,严谨的说是HEAD指向了一个没有分支名字的修订版本,即处于游离状态(detached HEAD)。

这个功能主要是方便用户在任意commit ID处建立分支,重新开发。

git branch temp fef4501
6、分支合并

首先选哟切换分支,保证多个分支存在:
git checkout v1.0
git checkout v1.2

然后在v1.2的分支基础上执行merge
git merge v1.0

如果没有报错,那就直接提交代码git push origin v1.2
如果报错,手动merge存在的冲突:CONFLICT ,接下来就是正常的commit与add操作了。

7、更改主分支操作

工作中有的时候遇到一些状况,导致主分支有一些不想要的commits,所以采取的方式是将修改之后的master推到新的分支。

  • 确保所有内容都被推送到远程存储库(Github)中:
    git checkout master

  • 用"最新的想要替代的分支"覆盖"master":
    git reset --hard new_branch

  • 将待推送的分支强制推送到仓库的master分支:
    git push -f origin master

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值