git小技巧,如何从其他分支merge个别文件或文件夹

这篇具有很好参考价值的文章主要介绍了git小技巧,如何从其他分支merge个别文件或文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

git merge 文件,软件工具,HTML前端,git,github

在实际工作中,一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,进行分别开发。

创建分支

功能分为2个分支,分别为A、B。
A上面有个列表页功能
B上面有个详情页功能,还有个系统消息功能

产品经理说先上列表功能,于是我们就开发A分支,列表功能很快开发完成。
第二天按常理开发B分支,开发到一半,产品经理说目前的系统消息功能需要急着上线,要和列表功能一起上线,当时就懵逼了,然后赶紧放下详情页的开发,立马去开发系统消息功能,开发完之后需要将列表功能和系统消息功能放在一个分支上提测,这时候分支合并就派上用场了。

合并分支

使用git merge 命令进行分支合并是通用的做法,但是git merge 合并的时候会将两个分支的内容完全合并,如果想合并一部分肯定是不行的。那怎么办?

如何从其他分支merge指定文件到当前分支,git checkout 是个合适的工具。

git checkout source_branch <path>...

强制合并

我们使用git checkout 将B分支上的系统消息功能添加到A分支上

$ git branch
  * A  
    B
    
$ git checkout B message.html message.css message.js other.js

$ git status
# On branch A
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#    new file:   message.css
#    new file:   message.html
#    new file:   message.js
#    modified:   other.js
#

合并完成

注意:在使用git checkout某文件到当前分支时,会将当前分支的对应文件强行覆盖

这里新增文件没问题,但是A分支上原有的other.js会被强行覆盖,如果A分支上的other.js有修改,在checkout的时候就会将other.js内容强行覆盖,这样肯定是不行的。如何避免不强制覆盖,往下看。

智能合并

1.使用git checkout 将根据A分支创建一个A_temp分支,避免影响A分支

$ git checkout -b A_temp
Switched to a new branch 'A_temp'

2.将B分支合并到A_temp分支

$ git merge B
Updating 1f73596..04627b5
Fast-forward
 message.css                     | 0
 message.html                    | 0
 message.js                      | 0
 other.js                        | 1 +
 4 files changed, 1 insertion(+)
 create mode 100644 message.css
 create mode 100644 message.html
 create mode 100644 message.js

3.切换到A分支,并使用git checkout 将A_temp分支上的系统消息功能相关文件或文件夹覆盖到A分支

$ git checkout A
Switched to branch 'A'

$ git checkout A_temp message.html message.css message.js other.js

$ git status
# On branch A
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#    new file:   message.css
#    new file:   message.html
#    new file:   message.js
#    modified:   other.js
#

ok,完结,这是工作中使用git合并总结的经验,仅供参考,有错误请指出,谢谢!文章来源地址https://www.toymoban.com/news/detail-728512.html

到了这里,关于git小技巧,如何从其他分支merge个别文件或文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • git如何把其他分支的合并到主分支上,主分支的合并到其他分支上

    git如何把其他分支的合并到主分支上,主分支的合并到其他分支上

    master:主分支 other:其他分支 首先查看分支  git branch 如果分支在主分支上忽略此步,如果不在切换分支 git checkout other 在other分支上拉取代码  git pull 最重要的一步,拉完代码后,在切换到master分支上 (想要合并哪个分支就切换哪个分支上merge) 例如 现在要把other分支 往

    2023年04月23日
    浏览(39)
  • Python如何引用其他文件夹下的py文件

    Python引用其他模块的函数使用的语法是: from 模块名 import 函数名 如果将my_abs()函数定义保存为abstest.py文件,那么在该文件所在目录下,启动解释器,输入from abstest import my_abs,就可以执行my_abs函数。 那么,如何引用其他文件夹下的py文件 若要引用的包与文件不在同一个文件夹

    2024年02月16日
    浏览(39)
  • 【Git】Github fork项目后如何拉取其他分支

    【Git】Github fork项目后如何拉取其他分支

    【前言】我们在Github里fork了一个仓库后会发现自己的仓库里只有一个分支,就是源仓库的主分支,这个时候我们想在其他分支上贡献代码,应该怎么办呢?因为有时候我们可能会想把修改同步到多个分支。 查看当前分支: 该仓库的主分支为release/2.6,此时我已经切换到了d

    2024年02月15日
    浏览(11)
  • idea 如何合并其他分支的指定文件或代码块到当前分支

    idea 如何合并其他分支的指定文件或代码块到当前分支

    idea合并分支很简单,但是如何合并其他分支的一部分文件或者一小块代码到当前分支呢 1.首先确保当前所在的分支是自己要合的分支。 2.在idea右下角找到想要合并过来的文件或代码块所在的分支。 3.点击Show Diff with Working Tree 4.点进去之后就可以看到两个分支之间的差异了,

    2024年02月11日
    浏览(37)
  • 如何解决win11“无法枚举容器中的对象,访问被拒绝”、“右键新建只有文件夹,没有其他选项”的问题。

    如何解决win11“无法枚举容器中的对象,访问被拒绝”、“右键新建只有文件夹,没有其他选项”的问题。

    形成原因:是文件夹Users权限的问题 解决方法:修改User权限即可 出错原因 我本以为按照网上的教程,右键E盘属性,找到安全选项卡,然后更改高级,然后更改所有者,然后开启 使用可从此对象继承的权限项目替换所有子对象的权限项目P,,,,等等操作。但是依然会报错

    2024年02月02日
    浏览(10)
  • 如何在 Git 中忽略文件和文件夹

    学了么社区,营造专业的学习环境,完善专业的学习资料,打造一个属于学习的网站,目前只开发计算机编程语言模块,可以微信加群(搜索微信号xuelem)进行学习讨论。 Git 是一个流行的版本控制系统。开发人员通过它可以在项目上进行协作。 Git 允许你跟踪你在一段时间内

    2024年02月01日
    浏览(43)
  • Git解决方案 如何还原不小心merge的本地文件

    在上传修改时不小心merge了该分支,因为在较老版本上修改,导致本地文件merge后发生大量冲突。 在文件夹处右键 Git Bash Here 输入 git reflog ,找到希望回退的操作,记录对应的版本号,如: 33cabd3 输入 git reset --hard 版本号 ,即可将本地文件还原,如 git reset --hard 33cabd3

    2024年02月11日
    浏览(4)
  • 【随笔】Git 基础篇 -- 分支与合并 git merge(九)

    【随笔】Git 基础篇 -- 分支与合并 git merge(九)

    💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,又见面了,我是夜阑的狗🐶,

    2024年04月11日
    浏览(11)
  • .gitignore 文件——如何在 Git 中忽略文件和文件夹详细教程

    在任何当前工作的 Git 仓库中,每个文件都是这样的: 追踪的(tracked) - 这些是 Git 所知道的所有文件或目录。这些是新添加(用 git add 添加)和提交(用 git commit 提交)到主仓库的文件和目录。 未被追踪的(untracked) - 这些是在工作目录中创建的,但还没有被暂存(或用

    2024年02月05日
    浏览(39)
  • git使用教程7-pycharm 使用 git merge 合并分支

    git使用教程7-pycharm 使用 git merge 合并分支

    前面一篇已经用 pycharm 创建了分支,当我们在某个分支上代码开发完成,代码测试没问题后需要把分支上的代码合并到 master 分支上。 这样保证 master 分支的代码永远都是最新的,也是最干净的,这样才可以持续的开发自己的项目。本篇讲解如何使用 pycharm 合并自己的分支。

    2024年02月12日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包