当前位置:首页 > 开发工具 > GIT 如何从另一分支合并特定的文件

GIT 如何从另一分支合并特定的文件

2022年09月16日 17:42:51开发工具6
是否遇到过这种情景:
您在一个分支上工作,发现该分支上的某些文件实现的功能已经在其他分支上实现了
但因为这两个分支实现不同的功能,因此不能进行简单的合并工作,但您又不想重复其他已经完成的工作
以下操作可以解决该问题:
 
处理流程这样的:
  1. 先检验当前分支与要合并分支通用文件的差异(要合并的分支必须要全部commit)
  2. 拉出要“合并某分支文件有差异”的所有文件(会覆盖当前分支的文件,在提交前请手动合并差异文件) git checkout 分支名称 多个指定的文件名 
  3. 添加并commit到当前分支 git commit -a -m '注释 合并其他分支的某些文件 和合并分支提交时的说明信息'
GIT 如何从另一分支合并特定的文件 _ JavaClub全栈架构师技术笔记
F:\Test>git init #初始化
Initialized empty Git repository in F:/Test/.git/
F:\Test>git add . #添加文件
F:\Test>git commit -m 'init' #提交
[master (root-commit) 0b9520a] 'init'
2 files changed, 4 insertions(+)
create mode 100644 dev.txt
create mode 100644 test.txt
F:\Test>git checkout -b dev --新建并切换分支
Switched to a new branch 'dev'
F:\Test>git diff #更改文件,比较文件差异
WARNING: terminal is not fully functional
diff --git a/dev.txt b/dev.txt
index d62bb90..a21f2e9 100644
--- a/dev.txt
+++ b/dev.txt
@@ -1,2 +1,5 @@
init
-dev-edit
\ No newline at end of file
+dev-edit
+
+
+dev-edit-2015-08-05
\ No newline at end of file
F:\Test>git commit -a -m 'edit-dev' #提交
[dev 9f224fd] 'edit-dev'
1 file changed, 4 insertions(+), 1 deletion(-)
F:\Test>git checkout master #切换到主分支
Switched to branch 'master'
F:\Test>git diff #更改文件,并对比差异
WARNING: terminal is not fully functional
diff --git a/dev.txt b/dev.txt
index d62bb90..719fd72 100644
--- a/dev.txt
+++ b/dev.txt
@@ -1,2 +1,4 @@
init
-dev-edit
\ No newline at end of file
+dev-edit
+
+edt-master-2018-08-05
\ No newline at end of file
F:\Test>git commit -a -m 'edit-master-dev' #提交并保存已更改的文件
[master dbeec1c] 'edit-master-dev'
1 file changed, 3 insertions(+), 1 deletion(-)
F:\Test>git status
On branch master
nothing to commit, working directory clean
F:\Test>git checkout dev dev.txt #在master中合并 并覆盖dev分支中的dev.txt文件
F:\Test>git status #当前master分支状态,因为dev.txt是直接从dev分支直接覆盖而来,所以可能需要手动合并冲突
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: dev.txt
F:\Test>git diff
WARNING: terminal is not fully functional
- (press RETURN)
F:\Test>
F:\Test>git diff dev.txt #查看dev.txt跟当前分支的差异,因为已经提交到暂存区,所以这里没有显示出差异
WARNING: terminal is not fully functional
- (press RETURN)
F:\Test>git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: dev.txt
F:\Test>git citool #使用Gui查看差异

 

使用"checkout 文件"合并其他分支的文件会覆盖当前分支的文件,所以在提交之前必须手动合并差异
GIT 如何从另一分支合并特定的文件 _ JavaClub全栈架构师技术笔记
参考:
 
 
 



作者:HTL
来源链接:https://www.cnblogs.com/huangtailang/p/4702339.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/tool/41944.html

标签: Git合并
分享给朋友:

“GIT 如何从另一分支合并特定的文件” 的相关文章

GitHub的注册与使用

GitHub的注册与使用

目录 一、gihub账号注册与仓库创建 1.注册 2. 初始设置 3.验证账号 4.发现邮箱地址未验证,登录你注册时的邮箱,验证 5.新...

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerCard+redis\target\gameCard-1.0-SNAPSHOT\WEB-INF\classes\cn\jbit\dao

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerCard+redis\target\gameCard-1.0-SNAPSHOT\WEB-INF\classes\cn\jbit\dao

错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerC...

Git 切换分支命令

Git 切换分支命令

从Github上clone下来的项目都是主分支 branch,为了开发的安全性,如何切换到其它分支呢? git branch 查看本地分支 * 表示当前所处的分支,如下图所示: git branch -a 查看项目所有分支:...

Git批量删除本地分支

删除分支命令 删除一条分支: git branch -D branchName 删除当前分支外的所有分支: git branch | xargs git branch -d 删除分...

“git pull”如何强制覆盖本地文件?

git pull 强制覆盖本地的代码方式,下面是正确的方法: git fetch --all 然后,你有两个选择: git reset --hard origin/master 或者如果你在其他分支上: git reset --hard origin...

Git常用命令整理

Git常用命令整理

Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) 一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下G...

GIt在pyCharm的使用教程

GIt在pyCharm的使用教程

GIt在pyCharm的使用教程 目录 GIt在pyCharm的使用教程 (一)Git的安装和配置 (二)在pycharm中配置git (三)创建仓库 (四)一些基础操作 (五)建立远程仓库提交代码   ...

编译安装git

说明:CentOS默认的yum仓库现存的git版本还是比较老的版本,而git官网也没有提供二进制安装包;所以目前在centos系统上安装新版本的git只能通过编译源码安装。 如果系统已经安装了git旧版本可以先卸载:yum remove git, 通过 git versio...

git进行版本回退(文件恢复、恢复误提交、已提交)

文章目录 1.介绍 2.git的4个区 3.git文件的5种状态 4.回退命令...

Git回滚远程版本

Git回滚远程版本

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “房子是租的 但生活不是” 1.故事的开始 远程master分支下代码被不小心提交了很多垃圾代码或项目删掉,想要回滚到以前的某一版本并删除commit...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。