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将一个分支中的文件移植到另一个分支的主要内容,如果未能解决你的问题,请参考以下文章

git 分支中的修改文件溢出到另一个分支

git 分支中的修改文件溢出到另一个分支

Git 检出其它分支的某个文件

Git 检出其它分支的某个文件

如何使用 Git / IntelliJ 将整个文件从一个分支移动/复制到另一个分支? [复制]

Git检出远程库的分支等相关操作