【Git】之分支管理

目录



一、查看分支


1、查看本地分支

命令如下:

git branch

示例:

git branch
----------
  master
* test

2、查看远程仓库分支

命令如下:

git branch -r

示例:

git branch -r
-------------
origin/HEAD -> origin/master
origin/master
origin/test

3、查看全部分支(包括本地和远程仓库的分支)

命令如下:

git branch -a

示例:

git branch -a
-------------
  master
* test
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/test

二、新建分支


1、从当前分支新建本地分支

语法:

git branch <branch-name>

示例:

git branch test01

2、根据 commit_id 新建本地分支

使用 git log 命令查看 commit_id :

git log
-------
commit 579b705005178a44008f9f9b2718d238082830e7

根据 commit_id 创建分支的语法:

git checkout <commit_id> -b <branch_name>

示例:

# 根据 commit_id 来创建 test01 分支
git checkout 579b705005178a44008f9f9b2718d238082830e7 -b test01

3、根据 tag 创建本地分支

使用 git tag -l 命令查看 tag 列表:

git tag -l
----------
myTag01

根据 tag 创建分支的语法:

git branch <branch_name> <tag_name>

示例:

# 根据标签 myTag01 来创建 myBranch01 分支
git branch myBranch01 myTag01

4、通过 chekcout 命令创建本地分支

命令语法格式:

git checkout -b <branch_name>
  • checkout 命令本身是切换分支的命令,但通过使用 -b 参数来表明先创建目标分支再切换过去;
  • 目标分支必须在本地分支列表中不存在,否则会失败。

5、本地分支推送到远程仓库与分支关联

1)分支推送

命令格式:

git push origin <branch_name>

示例:

git push origin test01
----------------------
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for test, visit:
 * [new branch]      test -> test
  • 如果远程仓库不存在推送的分支,则创建该分支并将提交内容推送上去;
  • 如果远程仓库存在推送的分支,则将本地提交内容提交覆盖对应的远程分支;

2)分支关联

本地分支推送到远程仓库所创建的分支是没有和本地对应的分支关联起来的,也就是说推送提交内容的时候不能直接使用 git push 命令推送到相应的远程分支上(但仍可使用 git push origin <branch_name> 命令来推送到远程分支上)。

本地分支关联远程分支方法一:

git branch --set-upstream-to=origin/<origin_branch> <local_branch>
  • 这种方式可以将本地的任何分支远程仓库的任何分支关联起来。

本地分支关联远程分支方法二:

git push --set-upstream origin <origin_branch_name>
  • 这种方式只能将当前所在的分支指定的远程分支关联起来。

分支关联起来后,下次推送内容到远程仓库的时候就可以直接使用简洁的 git push 命令,该命令会自动推送到当前分支所关联的远程分支上去。


三、切换分支


1、切换本地分支

语法格式如下:

git checkout <branch_name>

示例:

git checkout test
-----------------
Switched to branch 'test'

2、切换到远程分支

**查看远程分支列表:**
git branch -r
-------------
origin/HEAD -> origin/master
origin/master
origin/test

切换到远程分支命令语法格式:

git checkout <origin_branch>

示例:

git checkout test
-----------------
Switched to a new branch 'test'
Branch 'test' set up to track remote branch 'test' from 'origin'.
  • 确保本地不存在与要切换的远程分支名称相同的分支,否则就是切换到本地分支;
  • 切换的远程分支名称 <origin_branch> 不需要远程分支列表中的 origin/ 前缀;
  • 切换远程分支成功之后会在本地创建一个与远程分支相同名称的分支并与之关联起来,下次推送提交内容时可以直接使用 git push 命令。

四、删除分支


1、删除本地分支

命令语法格式为:

git branch -D <branch_name>

示例如下:

git branch -D test
------------------
Deleted branch test (was 2f65baf).

2、删除远程分支

命令语法格式为:

git push origin --delete <origin_branch>

示例:

git push origin --delete test
-----------------------------
To github.com:demo/demo.git
 - [deleted]         test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值