当前分支拉取master的操作 git rebase master
使用场景
以master为准创建分支dev_A 开发,开发过程中,master主分支有新的功能被提交进来,需要将这部分代码align到dev_A的版本.
这里仅列举这一个场景,rebase 还可以修改commit message 请参照我的另一篇文章
理解rebase
rebase 字典翻译为变基。我的理解是:改变基准,以早期的master为基准创建的dev_A,后来master代码有变,我们需要重新以最新的master为基准同步代码,可以理解成改变dev_A的基准版本为最新的master,这样是不是好理解一些呢?
操作步骤
1 git切换至当前开发版本
git checkout dev_A
切换到当前开发版本是,也就是 dev_A
2 list需要变基到的branch,不一定是master
git branch -a
查看所有分支,根据列表中的branch 基准branch
3 执行rebase变基
git rebase master
这里以master为基准,如果是其他版本,git rebase branchname
如果dev_A中存在没有提交的代码,git会提示:
can't rebase : you have unstaged changes.
Please stash or commit them .
可以根据自己的情况选择执行stash 或者 commit,这里stash为例:
git stash
stash暂存本地仓库,rebase 完成之后再使用 git stash pop 取回这一部分代码。
如果没有冲突的情况
比如dev_A做的是A模块,master 代码变更进去的是B模块,也假设没有其他共同使用的文件
git rebase master 这一句命令就已经完成了我们的rebase操作,我们dev_A 已经包含了master后来更新进去的文件。
存在冲突的情况
这里我们着重说明存在冲突的情况
解决冲突
git 会提示我们有哪些文件冲突,我们可以在代码编辑器中查看冲突标识符
<<<<<HEAD
HEADcode
=======
Othercode
>>>>>>>>>>
两个冲突的版本用连续的等号=隔开,便于对比两个版本代码,手动修改使用哪个版本的代码。
标记冲突已解决
git add .
修改完成之后 使用git add . 告诉git 冲突已被全部解决,也可以一个文件一个文件解决之后使用 git add filepath, 这样比较麻烦
继续rebase 操作
git rebase --continue
提交到远程分支
git pull -f
master的代码已经被同步到当前本版dev_A的版本库了。
如果有stash的文件,使用如下命令取回代码
git stash pop
当前分支拉取master的操作 git rebase master的更多相关文章
- 将远程git仓库里的指定分支拉取到本地(本地不存在的分支
将远程git仓库里的指定分支拉取到本地(本地不存在的分支) https://www.cnblogs.com/hamsterPP/p/6810831.html
- fnb2b分支拉取注意事项
1. 大B分支拉取以后不要忘记把index.php中dev环境改为 $save_url = "http://dev-b2b.dev1.fn/"; 2. 大B分支拉取后,记得/bas ...
- git分支拉取
假设你已经配置好了各种SSH Key之类并熟悉基本的git创建分支.提交分支命令.比如共有2个分支,自己在一台未配置origin电脑上想要拉取某个分支(dev)到本地.步骤如下:1.新建git项目 与 ...
- IDEA 创建git 分支 拉取分支
此时只是在本地创建好了分支,修改源代码后add,commit将本地分支提交到远程仓库 分支已创建,其它成员此时就可以从git拉分支
- git初始化第一次拉取线上操作
git: 所有的filename都代表文件名称 一次:git clone 地址 第一步:更新 git pull 第二步:查看修改状态 git status 第三步:根据修改状态查看需要添 ...
- 使用git客户端免密码进行拉取等相关操作
前言 如果使用git客户端进行pull或push操作时,遇到有权限的项目总要输入用户名密码,真的是太麻烦了,因此需要稍作修改,然后就可以免密码操作啦! 方法: 进入C盘->用户->你的主机 ...
- git如何将一个远程仓库的某个分支拉取到当前分支?
答: git pull <remote_repository_url> <branch_name> 例如: git clone https://github.com/lede- ...
- git 指定从其他分支拉取commit
git cherry-pick commit-id (github 上的短号)
- git rebase(变基)操作
1.rebase(变基)操作 注意事项:rebase 改变分支的根源,绝对不要在与其他人共享的分支上进行操作rebase黄金法则:绝不要在公共的分支上使用它! 1.1git merge 与 git r ...
随机推荐
- Solon 1.6.21 发布,轻量级应用开发框架
关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web.Data.Jo ...
- ElasticSearch 基本介绍和读写搜索过程
cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部 ...
- Web设计
架构:配置中心(数据发布与订阅),配置共享,服务发现,微服务鉴权,网关,负载均衡, 设计:分布式锁,延时队列 业务:日志.链路跟踪,灰度, 日志:(面向领域.业务.基础架构) 通信协议:http(1. ...
- Solution -「HDU 6875」Yajilin
\(\mathcal{Description}\) Link.(HDU 裂开了先放个私链 awa.) 在一个 \(n\times n\) 的方格图中,格子 \((i,j)\) 有权值 \(w_ ...
- Solution -「AGC 026D」Histogram Coloring
\(\mathcal{Description}\) Link. 有 \(n\) 列下底对齐的方格纸排成一行,第 \(i\) 列有 \(h_i\) 个方格.将每个方格染成黑色或白色,求使得任意完 ...
- Python基础(Day1)
一.Python的简介 1.Python的诞生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发 ...
- v-model的修饰符
.lazy 就是在用户输入时数据不会进行传输,在失去焦点后或者按回车,才会将数据将进行改变 .number 因为v-model所绑定的数据,都会默认转换为string类型,而.number就能将数据转 ...
- windows下安装skywalking8.6.0(用于本地开发调试代码)
安装jdk https://www.cnblogs.com/uncleyong/p/10732951.html 下载.安装.配置skywalking 下载 地址:https://skywalking. ...
- springMVC整合mybatis,spring
使用spring-mvc创建一个项目的过程 spring的配置十分复杂,很难记忆. 这篇博客用于记录springmvc整合创建过程,虽然步骤有点多,但是每一步都很容易理解,便于以后忘记后参考和记忆. ...
- 【C# TAP 异步编程】一 、async 修饰符(标记)
async的作用: 1.async是一个标记,告诉编译器这是一个异步方法. 2.编译器会根据这个标志生成一个异步状态机. 3.编译器将原异步方法中的代码清空,写入状态机的配置,原先异步方法中的代码被封 ...