Git常用操作 - 分支管理
2015-08-13 13:16
411 查看
本文并非讲解分支管理知识,而是记录了Git分支管理的一些命令使用方法,供使用时参考。
> 以下使用 <branch_name>表示用户需要替换的内容
上述命令创建一个新的分支 name,并且切换到新的分支,这里的
如果仅仅是创建一个新的分支而不切换到新分支,则直接使用
在分支之间切换
上述命令会列出所有的分支,该命令只会列出本地分支,如果希望查看所有分支(包含服务器上的),使用参数
远程分支会以红色字体显示。
然后执行
这样就把name分支合并到主分支了。
> 关于 Fast Forward 相关内容,感兴趣可以参考 Git - Fast Forward 和 no fast forward
这里的
> 如果要丢弃一个没有合并的分支,使用命令
对于远程分支的删除,有两种方式:
使用
推送空分支(相当于删除)
这时可以放心的切换到其它分支进行操作,当完成之后,使用
可以看到这里暂存了一个名为 stash@{0} 的现场。
要恢复现场继续进行操作,有两种方式:
第一种方式是使用
删除 stash@{0} :
第二种方式是使用
一般情况下,当手头工作还没有完成的时候,可以使用
参考:
廖雪峰的Git教程
Git查看、删除、重命名远程分支和tag
> 以下使用 <branch_name>表示用户需要替换的内容
创建分支
git checkout -b <branch_name>
上述命令创建一个新的分支 name,并且切换到新的分支,这里的
-b参数表示创建并切换。
如果仅仅是创建一个新的分支而不切换到新分支,则直接使用
git branch <branch_name>命令。
git branch <branch_name>
在分支之间切换
git checkout <branch_name>
查看分支
git branch
上述命令会列出所有的分支,该命令只会列出本地分支,如果希望查看所有分支(包含服务器上的),使用参数
-a。
git branch -a
远程分支会以红色字体显示。
分支合并
首先切换到主分支git checkout master
然后执行
merge命令合并分支
git merge <branch_name>
这样就把name分支合并到主分支了。
> 关于 Fast Forward 相关内容,感兴趣可以参考 Git - Fast Forward 和 no fast forward
分支删除
git branch -d <branch_name>
这里的
-d(
--delete)用于删除已经
merge的分支。
> 如果要丢弃一个没有合并的分支,使用命令
git branch -D <branch_name>。
对于远程分支的删除,有两种方式:
使用
--delete参数
git push origin --delete <branch_name>
推送空分支(相当于删除)
git push origin :<branch_name>
修改分支名称
git branch -m <old_name> <new_name>
暂存工作现场
当在一个分支上进行操作,但是修改尚不能提交,这时候需要创建一个新的分支解决更加紧急的任务时,可以将当前分支工作状态暂存起来git stash
这时可以放心的切换到其它分支进行操作,当完成之后,使用
git checkout回到当前分支,使用
git stash list命令查看暂存了哪些现场。
$ git stash list stash@{0}: WIP on master: f32abab 增加composer文件
可以看到这里暂存了一个名为 stash@{0} 的现场。
要恢复现场继续进行操作,有两种方式:
第一种方式是使用
git stash apply命令,这种方式恢复之后不会删除stash的内容,需要手动执行
git stash drop删除。
git stash apply stash@{0}
删除 stash@{0} :
git stash drop stash@{0}
第二种方式是使用
git stash pop,该命令会在恢复的时候将stash内容删除
git stash pop
一般情况下,当手头工作还没有完成的时候,可以使用
git stash命令将手头上的工作暂存,切换到其它分支完成紧急任务,再回到该分支,使用
git stash pop恢复工作现场。
推送本地分支到远程仓库
使用命令git push origin <branch_name>:
$ git push origin issue-101 Total 0 (delta 0), reused 0 (delta 0) To https://github.com/mylxsw/FocusPHP.git * [new branch] issue-101 -> issue-101
拉取远程分支到本地开发
从远程仓库clone时,默认情况下只能看到 master 分支,要在分支工作,需要在创建远程origin的dev分支到本地。
git checkout -b issue-101 origin/issue-101
创建本地分支与远程分支的关联
git branch --set-upstream dev origin/dev
查看分支合并情况
git log --graph --pretty=oneline --abbrev-commit
参考:
廖雪峰的Git教程
Git查看、删除、重命名远程分支和tag
相关文章推荐
- HierarchyViewer源代码理解(三)
- BZOJ 1045 [HAOI2008] 糖果传递
- PAT 1062. Talent and Virtue (25)
- 【百度网盘】老罗android开发视频教程[压缩后3.63G]
- java中TCP传输协议
- 微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决
- undefined function mysql_connect()解决方法
- 服务器配置apache2.4+php5.6+mysql
- SpringMVC maven mybatis
- 与web相关的bean作用域
- Cache缓存优化
- 数据库高可用:企业数据库高可用性架构设计
- oracle误删数据恢复方法小结
- 时间相关
- 百度使用的网页变灰css
- HttpSessionBindingListener 和HttpSessionListener
- Matlab 在 word中插入特定内容,批量生成不同内容的文件
- Codeforces Round #200 (Div. 2)D. Alternating Current (堆栈)
- hdu-1686-Oulipo(简单滴KMP)
- mysql命令查询表的个数、加减时间-函数-时间加减