Git(三)——Branch分支
创建分支
git branch 分支名
查看分支
git branch -a
切换分支
git checkout 分支名
创建并切换分支
git checkout -b 分支名
删除本地(合并)分支:
git branch -d 分支名
删除本地(未合并)分支:
git branch -D branchName
删除远程分支,注意第一种方法 origin 后面有空格
git push origin :分支名称
或者git push origin --delete 分支名称
分支重命名
git branch (-m | -M) <oldbranch> <newbranch>:
如果你需要重命名远程分支,推荐的做法是:1删除远程待修改分支,2push本地新分支名到远程. 如果远程已经删除的分支,在本地执行 git branch -a 显示还存在,执行以下命令可以清除
git remote prune origin
合并分支
git merge br01 # 合并分支br01到当前分支
提交分支数据到远程服务器(远程分支不存在)
git push origin <本地分支名称>:<远程分支名称>
提交分支数据到远程服务器(远程分支存在)
git push origin <分支名称>
查看所有远程分支:
git branch -r
拉取远程分支到本地
git checkout -b 本地分支名 origin/远程分支名
git fetch origin 远程分支名x:本地分支名x
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
设置分支对应
git push --set-upstream origin dev
查看本地和远程分支对应关系
git branch -vv
本地分支重命名
Git branch -m oldbranchname newbranchname
使用git pull或者git pull 拉取或提交数据时会报错,必须使用命令:git pull origin dev(指定远程分支);如果想直接使用git pull或git push拉去提交数据就必须创建本地分支与远程分支的关联
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> release
本地分支与远程分支关联
git branch –set-upstream 本地新建分支名 origin/远程分支名
直接拉取远程分支的代码到本地
git clone -b 分支名 仓库地址
cherry-pick合并分支某次commit
例如要将A分支的一个commit合并到B分支,就需要使用到cherry-pick 首先切换到A分支
$git checkout A
$git log
commit ecd4f07cd150fab7d55cabd00993d60a6720bd44
Author: baxiang <baxiang@roobo.com>
Date: Thu Dec 20 17:30:07 2018 +0800
去掉空格判断
然后切换到B分支上
$git checkout B
$git cherry-pick ecd4f07cd150fab7d55cabd00993d60a6720bd44
然后就将A分支的某个commit合并到了B分支了
分离头指针
git checkout b5b7d12749
注意:正在检出 'b5b7d12749'。
您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以通过另外
的检出分支操作丢弃在这个状态下所做的任何提交。
如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在检出命令添加
参数 -b 来实现(现在或稍后)。例如:
git checkout -b <新分支名>
HEAD 目前位于 b5b7d12 update index
查看当前分支状态
$ git branch
dev
master
* (头指针分离于 b5b7d12)
修改 README.md
git status
头指针分离于 b5b7d12
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: README.md
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
查看当前分支来源于哪个分支
git reflog show <childBranch>
远程代码库回滚
先将本地分支退回到某个commit,删除远程分支,再重新push本地分支 操作步骤: 1、git checkout the_branch 2、git pull 3、git branch the_branch_backup //备份一下这个分支当前的情况 4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id 5、git push origin :the_branch //删除远程 the_branch 6、git push origin the_branch //用回滚后的本地分支重新建立远程分支 7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支
- 用mysqlslap进行mysql压力测试
- 域名Matrix.io以20万元结拍,被搭建区域链相关网站
- 结合ABP源码实现邮件发送功能
- Discuz!关于出现“对不起,您安装的不是正版应用”的解决办法
- 利用C#迭代器的一个杨辉三角示例
- 计算机组成原理之机器
- Elasticsearch 健康状态处理
- 开始菜单中没有运行时怎么办
- Elasticsearch 的一些关键概念
- Elasticsearch 相关 api 操作
- 【前端开发系列】—— 文字阴影与样式
- Elasticsearch 在 windows 和 ubuntu 下详细安装过程
- 【前端开发系列】—— 利用选择器添加内容
- c# 协变和逆变的理解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Jenkins 发布.net core 程序,服务端无法下载nuget包的解决方法 error NU1102: 找不到版本为 (>= 3.1.6) 的包
- NET Core Kestrel部署HTTPS 一个服务器绑一个证书 一个服务器绑多个证书
- .net core webapi jwt 更为清爽的认证 ,续期很简单(1)
- 用flask来在线管理你的iptables
- Linux Shell命令速查表
- Windows10实现滑动锁屏
- Vue&uni-app在微信浏览器隐藏titleNView的一个方法
- 使用OData服务将SAP C4C自定义BO的TextCollection暴露给外部消费者
- 如何在SAP C4C AdvancedListPane上批量执行若干BO实例的action
- SAP ABAP Webdynpro ALV的link to action的实现方法
- SAP CRM和C4C表格列宽度调整的工作原理
- SAP C4C里如何创建两个具有依赖关系的下拉菜单
- 温故知新——Spring AOP
- tf.random_shuffle 函数
- IndexError: dimension specified as 0 but tensor has no dimensions