Git学习:分支

合并分支的某一次或多次提交:https://blog.csdn.net/qq_40437152/article/details/119721747
分支重命名:https://www.php.cn/tool/git/487573.html

1 分支命令汇总

功能命令
查看分支信息git branch -v 查看本地分支
git branch -av 查看本地及远程分支
创建分支git branch (branchname)
git branch (branchname) (commitId) 在分支branchname的一次提交commitId上新建分支
切换分支git checkout (branchname)
合并分支git merge (branchname)
git cherry-pick (commitId) 合并分支上的某次提交
删除分支git branch -d (branchname)
git branch -D (branchname) 强制删除
重命名分支git branch -m (本地原分支名) (本地新分支名) 重命名本地分支
git push --delete origin (远程原分支名) 删除远程旧分支
git push (本地分支别名) (本地新分支名) 推送本地新分支到远程

2 查看分支

查看本地分支:

$ git branch -v

在这里插入图片描述
查看本地及远程分支:

$ git branch -av

在这里插入图片描述

3 创建分支

3.1 git branch (branchname)

git branch (branchname)是在当前分支最新提交的基础之上创建名称为branchname的分支

查看当前分支状态:

$ git branch -av

在这里插入图片描述
创建分支test2:

$ git branch test2

当前分支情况:
在这里插入图片描述
切换分支到test2:

$ git checkout test2

在这里插入图片描述

3.2 git branch (branchname) (commitId)

git branch (branchname) (commitId)是在当前分支提交ID为commitId的基础之上创建名称为branchname的分支

查看当前最新分支上README文件中是有内容的,第二次提交时该文内容为空:
在这里插入图片描述
查看当前分支提交日志:

$ git log

在这里插入图片描述
例如在第二次提交的基础之上新建分支test3:

$ git branch test3 06c6380b85ae10c

06c6380b85ae10c为第二次commit的id,可以不写全,能表示唯一性就可以。
再次查看分支情况,test3已经建立,并且是在test2的第二次commit基础之上创建的,test3中README.md文件数据和test2的第二次commit内容一致。
在这里插入图片描述

4 切换分支

查看当前在哪个分支,如下,当前在test3分支:

$ git branch
  master
  test
  test2
* test3

切换分支到test2:

$ git checkout test2
Switched to branch 'test2'

$ git branch
  master
  test
* test2
  test3

5 合并分支

5.1 全部合并

将branchName合并到当前分支:

git merge <branchName>

5.2 部分合并

如果只想合并某个分支的某次提交,可以使用cherry-pick。
需要将一次提交合并:

git cherry-pick <commitId1>

需要将多次提交合并:

git cherry-pick <commitId1> <commitId2>

例如:需要将分支dev1中的几次提交合并到dev分支

1.查看待合并的分支 dev1 的提交版本号记录
git log dev1

2.切换到分支 dev
git checkout dev

3.执行合并
git cherry-pick commitId1 commitId2

4.推到远程
git push

6 删除分支

删除前,可先查看一共有多少分支,获取分支信息 (加了 -a ,代表也会显示 remote 的分支。如果-av和-v显示结果一样,说明没有添加 remote ,也就是只有本地分支)

git branch -av 

删除 (-d会加一层判断逻辑,看是否合并到拉出的分支,确保删除动作的安全)

git branch -d <分支名称>

强制删除

git branch -D <分支名称> 

7 更改分支名称

7.1 命令及执行步骤

1、重命名本地分支:

git branch -m <本地原分支名> <本地新分支名>

(如果为本地分支重命名,以下步骤可不进行,如分支已推送至远程,需执行以下步骤。)

2、删除远程旧分支:

git push --delete origin <远程原分支名>

3、推送本地新分支到远程:

git push <本地分支别名> <本地新分支名>

7.2 示例

场景:本地及远程分支旧名为v_update_1.0.1,需重命名为新分支名v_update_1.0.2

1、重命名本地分支
$ git branch -m v_update_1.0.1 v_update_1.0.2

2、查看分支情况,本地分支已经重命名为v_update_1.0.2
$ git branch -av
  master                        5cfc200 添加项目描述
* v_update_1.0.2                31d4332 升级至1.0.1
  remotes/origin/master         5cfc200 添加项目描述
  remotes/origin/v_update_1.0.1 31d4332 升级至1.0.1

3、删除远程旧分支
$ git push --delete origin v_update_1.0.1

4、查看分支情况,远程v_update_1.0.1已被删除
$ git branch -av
  master                5cfc200 添加项目描述
* v_update_1.0.2        31d4332 [gone] 升级至1.0.1
  remotes/origin/master 5cfc200 添加项目描述

5、推送本地新分支到远程
$ git push origin v_update_1.0.2

6、把修改后的本地分支与远程分支关联(此步骤可能不需要)
$ git branch --set-upstream-to origin/v_update_1.0.2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值