Git合并固定分支的某一部分至当前分支
在 Git 中,通常使用 git merge 命令来将一个分支的更改合并到另一个分支。如果你只想合并某个分支的一部分代码,可以使用以下两种方法:
1.批量文件合并
1.1.创建并切换到一个新的临时分支
首先,从要合并的源分支(即要提取代码的分支)中创建并切换到一个新的临时分支。这样可以在该分支上进行修改,以便选择性地合并代码
git checkout -b temp-branch source-branch
- temp-branch 是临时分支的名称
- source-branch 是要提取代码的源分支的名称。
1.2.重置临时分支
使用 git reset 命令来将临时分支重置到源分支的某个特定提交,这样就可以选择性地选择要合并的代码
git reset <commit-hash>
- commit-hash 是源分支中你想要合并代码的特定提交的哈希值
- 如果你只想获取最新提交的哈希值,可以使用 git log 命令的 --oneline 选项,以简化输出
git log --oneline
1.3.添加、提交和推送更改
在临时分支上进行必要的更改,然后将这些更改添加、提交并推送到远程仓库。
git add .
git commit -m "Partial merge from source-branch"
git push origin temp-branch
1.4.合并到目标分支
现在,你可以切换到目标分支,并使用 git merge 命令将临时分支中的更改合并到目标分支中。
git checkout target-branch
git merge temp-branch
1.5.解决可能的冲突
如果有任何冲突,在合并过程中会被提示,并且需要手动解决这些冲突
1.6.删除临时分支
如果你已经成功地合并了临时分支中的部分代码,那么可以将它删除
git branch -d temp-branch
通过以上步骤,你可以在 Git 中选择性地合并某个分支的部分代码到另一个分支中。记得在操作前做好备份,确保不会丢失重要的更改
2.部分文件合并
如果你只想合并分支 A 中的某几个文件到当前分支(假设为目标分支),你可以使用 git checkout 命令来检出分支 A 中的指定文件,然后将这些文件复制到当前分支,最后提交更改。以下是具体的步骤:
2.1.检出分支 A 中的指定文件
git checkout A <path/to/file1> <path/to/file2> ...
- 其中
path/to/file1,path/to/file2, 等等是你想要合并的文件的路径。
2.2.将文件复制到当前分支
如果只是简单地想要覆盖当前分支上的对应文件,你可以直接将文件复制到当前工作目录中
2.3.添加、提交更改
添加并提交你所复制的文件到当前分支
git add .
git commit -m "Merge selected files from branch A"
这样就完成了只合并分支 A 中的指定文件到当前分支的操作。需要注意的是,这种方法不会保留分支 A 中的提交历史,它只是将特定文件的最新版本复制到当前分支,并创建一个新的提交。如果需要保留提交历史,你可能需要考虑使用 git cherry-pick 命令来选择性地将分支 A 中的特定提交合并到当前分支
3.git cherry-pick选择性合并文件
git cherry-pick 命令用于选择性地将一个或多个提交从一个分支应用到另一个分支上。这个命令可以用于合并单个提交或一系列提交,而不需要将整个分支合并过来。
3.1.git cherry-pick 的基本用法
git cherry-pick <commit-hash-1> <commit-hash-2> ...
commit-hash-1commit-hash-2, 等等是你想要应用的提交的哈希值。
3.2.切换到目标分支
首先,确保你在要应用更改的目标分支上
git checkout target-branch
3.3.应用提交
然后使用 git cherry-pick 命令来应用你想要合并的提交
git cherry-pick <commit-hash-1> <commit-hash-2> ...
这将会将指定的提交应用到当前分支中
3.4.解决冲突
如果在 cherry-pick 过程中出现了冲突,需要手动解决这些冲突
3.5.提交更改
解决冲突后,使用 git commit 来提交这些更改
git commit
如果你只是想要使用默认提交消息,你可以直接运行
git commit命令,Git将会使用预设的提交消息。
这样,你就可以使用git cherry-pick命令将特定提交从一个分支合并到另一个分支中
Git合并固定分支的某一部分至当前分支的更多相关文章
- Git合并特定commits 到另一个分支
https://ariejan.net/2010/06/10/cherry-picking-specific-commits-from-another-branch/ http://blog.csdn ...
- Git合并分支出现的冲突解决
人生不如意之事十有八九,合并分支往往也不是一帆风顺的. 我们准备新的分支newbranch. LV@LV-PC MINGW32 /c/gitskill (master)$ git checkout - ...
- git合并别的分支某次提交或合并
合并别的分支某次提交 master分支上改了一个bug.提交到master分支.现在在dev分支上开发,需要把master分支上改的那个bug合过来.步骤是:先在master分支上查改那个bug的SH ...
- git 合并分支到master
git 合并分支到master 假如我们现在在dev分支上,刚开发完项目,执行了下列命令 git add .git commit -m ‘dev'git push -u origin dev 然后 ...
- Git合并指定一系列commits到另一个分支
Git合并指定文件到另一个分支经常被问到如何从一个分支合并特定的文件到另一个分支.其实,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit首先, ...
- Git合并指定文件到另一个分支
经常被问到如何从一个分支合并特定的文件到另一个分支.其实,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit 首先,用git log或sourc ...
- git合并指定文件到另一分支
经常被问到如何从一个分支合并特定的文件到另一个分支.其实,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit 首先,用git log或sourc ...
- git合并分支上指定的commit
merge 能够胜任平常大部分的合并需求.但也会遇到某些特殊的情况,例如正在开发一个新的功能,线上说有一个紧急的bug要修复.bug修好了但并不像把仍在开发的新功能代码也提交到线上去.这时候也许想要一 ...
- git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法
git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法提交代码流程:1.先提交代码到自己分支上2.切换到devlop拉取代码合并到当前分支3.合并后有变动的推送到自己 ...
- Git合并分支或者冲突
假设冲突文件是 test/TestCase.php 下面分5种情况讨论. 1.本地不变. 然后远程别人有更新. git pull 这种最简单,没有冲突,本地工作区直接更新 2.我本 ...
随机推荐
- uniapp 子页面 滚动监听 是否到底
主要属性: handleScrollToLower <template> <view class="menu"> <scroll-view id=& ...
- [java] - servlet路径跳转
Index.jsp <a href="servlet/HelloServlet">servlet/HelloServlet</a><br> &l ...
- java - classpath 的配置
classpath C:\Program Files\Java\jdk\jre\lib\rt.jar
- UofTCTF 2024 比赛记录
这次的题目挺有意思,难度适中,*开头的代表未做出,简单记录一下解题笔记. Introduction General Information 题目 The flag format for all cha ...
- [转帖]FIO使用说明
FIO介绍: FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证.磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类.FIO是一个可以产生很多线程或进程并执 ...
- 麒麟信安V3.4 安装PG15的过程V2.0
改版说明 上一次进行了PG的安装当时发现自己少加了一部分ossp的处理. 这里补充上...不然挺浪费时间的. 背景 发现基于OpenEuler的几个系统使用CentOS的rpm包 安装PG数据库时有问 ...
- 使用css 与 js 两种方式实现导航栏吸顶效果
场景描述 简单的说一下场景描述:这个页面有三个部分组成的. 顶部的头部信息--导航栏--内容 当页面滚动的时候.导航栏始终是固定在最顶部的. 我们使用的第一种方案就是使用css的粘性定位 positi ...
- 动态添加input,然后获取所有的input框中的值
今天遇见一个问题. 点击按钮,动态添加input框(可以添加多个) 然后搜集用户在input中输入的值. 我刚刚在纠结,给input框中注入事件. 但是这样会很麻烦. 经过同事的指点. 我直接去拿v- ...
- ETL之apache/hop-web 2.5安装和简单入门
一.使用Docker 安装部署 1.拉取镜像 推荐使用下面的web版本 docker pull apache/hop:latest docker pull apache/hop-web:latest ...
- 大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数设计以及ICL底层机制等原理详解
大语言模型的预训练[5]:语境学习.上下文学习In-Context Learning:精调LLM.Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解 1.I ...