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.我本 ...
随机推荐
- css - 使用 figure 和 figcaption 快速实现 图片加文字的垂直方向的布局 ( 不支持ie9以下版本 )
一,属性介绍 1. 浏览器支持 注释:Internet Explorer 8 以及更早的版本不支持 <figure> 标签.Internet Explorer 9, Firefox, Op ...
- [转帖]OceanBase v4.2新增字符集GB18030_2022说明
OceanBase v4.2新增字符集GB18030_2022说明 https://open.oceanbase.com/blog/7698399520 1. 概述 GB18030 标准作为信息技术 ...
- [转帖]Nginx动静分离;资源分离;rewrite重写、跳转、伪静态、规则、日志
https://www.cnblogs.com/caodan01/p/14745562.html 一.动静分离 动静分离,通过中间件将动静请求和静态请求进行分离: 通过中间件将动态请求和静态请求分离, ...
- [转帖]Linux运维常用150个命令
Linux运维常用150个命令 转载自:www.cnblogs.com/bananaaa/p/7774467.html 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更 ...
- [转帖]实战瓶颈定位-我的MySQL为什么压不上去–写场景
https://plantegg.github.io/2023/06/30/%E5%AE%9E%E6%88%98%E7%93%B6%E9%A2%88%E5%AE%9A%E4%BD%8D-%E6%88% ...
- [转帖]Linux性能测试之LTP
https://www.modb.pro/db/487946 hello,大家好,今天为大家更新一篇关于Linux性能测试的文章,大家都知道在Windows下测试计算机的性能,我们可以使用鲁大师等软件 ...
- Linux平台下面部署node npm 等工具软件
公司这边用到了运行时定制, 用的是angular 开发的. 所以需要在linux 里面安装 angular的相关工具. 需要在服务器上面有angular nodejs 还有jit的工具 然后 运行时定 ...
- rfc7230 Message Syntax and Routing
rfc7230 目录 rfc7230 2 Architecture 2.6 Protocol Versioning 3 Message Format 3.1 Start Line 3.1.1 Requ ...
- 文件上传change事件只执行一次的问题
参考地址:https://blog.csdn.net/john_xiaoweige/article/details/81392110 本节中的注意点: this.$refs.attenceInput. ...
- ABP无法使用异步操作,但要调用异步方法
使用 AsyncHelper.RunSync(() => _studentRepository.FirstOrDefaultAsync(x => x.Code == studentCode ...