目录
一、查看分支
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