文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、Branch是什么?
分支(Branch)在git的使用中占据和很大一部分,也是Git出彩的部分。分支的使用让Git操作显得非常的灵活!
Git分支就好比不同的路线,各有各的风景,又能汇入主干道。
从实现上来说 分支是指向提交对象的可变指针,这个可变指针,指向路的终点。 同时,还有一个比较特别的 HEAD
指针,用于记录当前工作的位置。
二、Branch操作命令:
1. 创建分支(本地):
git branch <name>
执行成功之后没有任何提示
一般创建远程分支的时候直接去远程仓库手动界面创建就好。也可以使用
git push origin <name>
命令,让远程仓库自动创建与本地同名的分支。(这个命令其实就是将本地分支push到远程)
2. 查看分支:
git branch
//查看本地分支git branch -r
//查看远程分支git branch -a
//查看本地和远程的所有分支git branch -M
//给本地分支master改名
查询结果前面带有*
号的是当前分支
3. 切换分支:
git checkout <name>
git switch <name>
3.1 创建+切换分支:
git checkout -b <name>
git switch -c <name>
3.2 切换到指定分支:
git checkout -b branchName commitId
指定某一次的提交(commitID),创建一个新的分支
4.删除分支:
当本地分支删除后,推动到远程仓库后,远程仓库并不能自动删除远程分支。所以,分支的完全删除是分为一个本地分支删除,一个远程分支删除两个部分。
-
删除本地分支:
git branch -d <name>
git branch -D <name>
//强制删除-d
选项只能删除没有新内容未被合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D
选项。 -
删除远程分支:
git push origin --delete [branchname]
or
git push origin :<name>
origin是远程名,<name>是分支名。
例如://远程的test分支将被删除,但是本地还会保存。 $ git push origin :test
另外,如果清理本地无效分支(远程已删除本地没删除的分支):
git fetch -p
;如果分支太多,还可以用此命令进行分支模糊查找:git branch | grep 'branchName'
。
5. 合并某分支到当前分支:
git merge <name>
一般合并分支有两种策略:Fast-Forward 和 Recursive Strategy Merge,在之后会在解决合并冲突的文章中作相应介绍说明。
6. git push的指定操作
// 提交本地test分支作为远程的master分支
$ git push origin test:master
// 提交本地test分支作为远程的test分支
$ git push origin test:test
如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
总结
本文仅仅简单介绍了Git 分支操作的简单使用,望多多实践练习,加深理解。