GIt将一个分支中的文件移植到另一个分支
Posted OkidoGreen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIt将一个分支中的文件移植到另一个分支相关的知识,希望对你有一定的参考价值。
基于git checkout——检出命令。此命令和分支操作相关,最为常用的两种情形是创建分支和切换分支,使用git checkout --patch可以达到将一个分支上的文件植入到另一个分支中的目的。
命令行原理:
–patch是补丁命令,git checkout --patch;这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作。
git checkout -patch
这个命令不仅可以比较两个分支间的差异,还可以通过增加具体的路径,从而比较单个文件的差异,以此来达到文件植入的的目的
git checkout --patch 来源分支名称 文件路径:
例如把master分支的/app/view/activity.java拉到v1分支:
(1)首先需要切换到目标分支到v1:
git checkout v1
(2)使用checkout --patch 命令:
git checkout --patch master /app/view/activity.java
(3)并提供交互式的界面来选择进一步的操作,会询问是否将此模块加入到将此块应用于索引和工作树,输入y确认:
Apply this hunk to index and worktree [y,n,q,a,d,K,g,/,e,?]? y
各个字符代表命令如下:
y - 存储这个模块
n - 不存储这个模块
q - 离开,不存储这个模块和其他模块
a - 存储这个模块和这个文件后面的模块
d - 不存储这个模块和这个文件后面的模块
g - 选择一个模块
/ - 通过正则查找模块
j - 不确定是否存储这个模块,看下一个不确定的模块
J - 不确定是否存储这个模块,看下一个模块
k - 不确定是否存储这个模块,看上一个不确定的模块
K -不确定是否存储这个模块,看上一个模块
s - 把当前的模块分成更小的模块s
e - 手动编辑当前的模块
? - 输出帮助信息
(4)使用add,commit,push命令上传git;
以上是关于GIt将一个分支中的文件移植到另一个分支的主要内容,如果未能解决你的问题,请参考以下文章