文档章节

git 需要从正在做到一半时的项目中拉取一个历史提交记录的分支的方法

达达_泽亚
 达达_泽亚
发布于 2017/07/06 20:44
字数 636
阅读 669
收藏 0

问题背景:

2017.7.5号我完成了功能A, 然后合入自己的分支让QA测试。

7.6号做同一个项目的功能C之前,从同事的分支(非master分支)中拉取了功能B依赖的由她完成的功能C合入自己的分支,当功能B快被我开发完时,QA告诉我功能A不能与功能B/C同时上线,需要单独测试功能A并单独上线。此时由于功能B和部分功能C都已经合入自己的分支,要想单独上线功能A,则需要将功能A分离出来合入master分支。

解决方法;

经过一番折腾,总结出解决此类问题的如下方法:

1,创建新的分支zhongweichang, 去自己分支下找到提交记录

2,点击需要回滚的提交记录后面的“Cherry Pick”, 弹框如图:选中目标分支为zhongweichang, 如果提交记录中的内容和zhongweichang分支的没有冲突时,然后点击确认按钮,即可将功能A单独拉出来合入zhongweichang分支,将zhongweichang分支合入master即可。此时我们从图中也可以看出,相应的提交记录id为:6ae9b71

如果提交记录中的内容和zhongweichang分支有冲突时,会提示无法合入,此时要通过第3步解决。

单独

3,如果提交记录中的内容和zhongweichang分支有冲突时,可点击相应提交记录后台的下载图标(如下图),然后复制弹出的指令,复制上图箭头5所指的指令:git fetch ssh://zhongweichang@****:******/def-cf refs/changes/19/2049719/1 && git checkout FETCH_HEAD,然后在linux新拉取的zhongweichang分支项目环境下执行,

 

或着复制第2步图中箭头5所指的指令:git checkout zhongweichang && git cherry-pick 6ae9b71,然后在linux项目环境下执行。

4,当执行第3步时,可能会出现如图所示错误

此时如下方式解决:

1)基于本次提交创建一个临时分支.

git branch temp 6ae9b71

2)然后merge到我当前工作分支.

git merge temp

3)删除临时分支

git branch -d temp

然后提交代码,如果有冲突,则在本地环境解决冲突即可,这样功能A也就成功的被单独合入zhongweichang分支,QA单独测试,和单独上线都可以顺利进行

© 著作权归作者所有

共有 人打赏支持
达达_泽亚
粉丝 0
博文 23
码字总数 1897
作品 0
济南
私信 提问
g4e基础篇#7 了解拉取请求 Pull Request

拉取请求是Git中特有的工作方式,可以帮助团队更好的控制代码质量,集成自动化构建和部署,创建更好的协作氛围。要理解拉取请求是如何做到这些的,我们首先需要了解什么是拉取请求。 什么是拉...

leixu
04/15
0
0
成为一个 git 专家 [译文]

如果你在刚刚的提交中,提交了一些错误的信息,改如何处理它呢? 如果你的提交历史十分混乱,又改如何让它变得整洁一些呢? 如果你也有上述的麻烦要解决,这篇文章就是为你而写的, 这篇文章...

SSBun
11/16
0
0
还在记git命令?快试试SourceTree

简介 背景 用过 git 版本管理的,对 SourceTree 应该不陌生的。它是 git 一个跨平台的 GUI 工具。界面很不错,而且功能也是很强大的。下面小编就针对SourceTree做一个小小的总结归纳,希望大...

baldwin
09/29
0
0
Git+Gerrit如何永久删除历史文件(大文件/私密文件)

一、前言 前几天同事在拉取一个项目的Git仓库时,发现项目拉取速度非常慢,半个钟都无法拉取下来,并且发现一直卡在了99%的进度上。 开始时以为是Git网络出问题了,检查了其它仓库却都可以正...

开发的猫
03/21
0
0
【转】Git详解之六 Git工具

Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力...

季牧云
2012/06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

作者 | Spring Cloud Alibaba 高级开发工程师洛夜 来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后(Hystrix 停止开发。。。Spring Cloud 何去何从?),Feign 作为一个跟 ...

Java技术栈
2分钟前
0
0
虚拟机加密

在超融合的基础设施和虚拟化成为常态的世界里,对加密的要求越来越高,越来越迫切,IT部门需考虑的重大安全问题和方法也浮现了出来。 物理数据中心时代,采取双保险式数据安全方法是相对简单...

linuxCool
5分钟前
0
0
MySQL 主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

野雪球
17分钟前
0
0
OSChina 周一乱弹 —— 温柔的人应该这样

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 《フィクション-sumika》 《フィクション-sumika》 手机党少年们想听歌,请使劲儿戳(这里) 假期时间干嘛去, @for...

小小编辑
今天
118
7
[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部