文档章节

Git常用操作 - 分支管理

mylxsw
 mylxsw
发布于 2015/08/13 13:16
字数 881
阅读 60
收藏 6
git

本文并非讲解分支管理知识,而是记录了Git分支管理的一些命令使用方法,供使用时参考。

以下使用 <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 分支,要在分支工作,需要在创建远程origindev分支到本地。

git checkout -b issue-101 origin/issue-101

创建本地分支与远程分支的关联

git branch --set-upstream dev origin/dev

查看分支合并情况

git log --graph --pretty=oneline --abbrev-commit

参考:

© 著作权归作者所有

mylxsw

mylxsw

粉丝 35
博文 24
码字总数 53847
作品 10
朝阳
程序员
私信 提问
git文章列表

关于gitlab默认clone协议 Git实现从本地添加项目到远程仓库 翻翻git之---一个简单的标签控件 LabelView (随手发了两张小宝宝的玩耍照) Git 项目推荐 | Java 版微信普通号机器人 翻翻git之---...

d_watson
2016/04/20
27
0
一篇文章,教你学会Git

在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。 一、Git工作流...

Ruheng
2017/08/24
0
0
一篇文章,教你学会Git

在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。 一、Git工作流...

Ruheng
2017/08/23
0
0
git 常用操作

打开终端,$ ssh-keygen 一路enter下。 $ ls -a ~/.ssh $ cat ~/.ssh/id_rsa.pub 常用操作 初始化 git init //创建git仓库 git clone git@gitlab........git git config --global user.name ......

gdxz110
2016/03/22
98
0
好代码是管出来的——Git的分支工作流与Pull Request

  上一篇文章好代码是管出来的——使用Git来管理源代码 介绍了常用的版本控制工具以及git的基本用法,从基本用法来看git与其它的版本控制工具好像区别不大,都是对代码新增、提交进行管理,...

dotNET跨平台
2018/06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部