Git 的分支,其实本质上仅仅是指向提交对象的可变指针,这个可变指针,指向路的终点。
创建分支
git branch <name>
如果此时head 指向某分支,则 创建一个指向 该分支指向的commit的 分支。head指向不变。
如果此时head 指向commit,则创建一个指向该commit的分支。head指向不变,仍然是commit。
查看分支
git branch //查看本地分支
git branch -r //查看远程分支
git branch -a //查看本地和远程的所有分支
删除分支
当本地分支删除后,推动到远程仓库后,远程仓库并不能自动删除远程分支。所以,分支的完全删除是分两个部分的,一个是本地,一个是远程。
本地删除操作需要加上 -d或者 -D 参数。两者的区别在于-D比-d要粗暴一点。当被删除分支有新内容没有被合并的时候,使用-D 会直接删除, 使用-d 会提示该分支有新内容没有被合并,不执行删除。
删除需谨慎,建议非特殊情况下,使用温柔的-d要好一点,以免小手一抖,眼泪长流。
git branch -d <name>
git branch -D <name> //强制删除
删除远程分支需要 push 操作。
git push origin :<name>