文档章节

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

达达_泽亚
 达达_泽亚
发布于 2017/07/06 20:44
字数 636
阅读 488
收藏 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详解之六 Git工具

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

季牧云
2012/06/15
0
0
Git+Gerrit如何永久删除历史文件(大文件/私密文件)

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

开发的猫
03/21
0
0
git的submodule功能详解

git的submodule功能详解 1. 前言 项目的版本库在某些情况下需要引用其他版本库中的文件,例如有一套公用的代码库,可以被多个项目调用,这个公用代码库能直接放在某个项目的代码中,而是要独...

佳期如梦
2014/03/31
0
11
分布式源代码管理工具(Git) 2.8.0 官方多语中文版

Git是一个强大的分布式的源代码管理工具。Git是用c语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可...

相心的泪
2016/07/21
13
0

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
今天
1
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
6
2
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
1
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
1
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部