小墨の博客

梦想需要付诸行动,否则只能是梦

跨仓库应用 Git 提交

当你有两个结构相同的 Git 仓库,并且想在其中一个仓库的提交应用到另一个仓库时,有几种方法可以实现类似 cherry-pick 的效果:

方法一:使用补丁文件(推荐)

在源仓库生成补丁:

git format-patch -1 <commit-hash>

这会生成一个 .patch 文件

将补丁文件复制到目标仓库

在目标仓库应用补丁:

git am <patch-file>

方法二:直接使用远程引用

在目标仓库添加源仓库为远程:

git remote add source-repo <source-repo-url>

获取源仓库的提交:

git fetch source-repo

使用 cherry-pick 应用提交:

git cherry-pick <commit-hash>

方法三:使用 bundle 文件

在源仓库创建 bundle:

git bundle create changes.bundle <commit-hash>^..<commit-hash>

将 bundle 文件复制到目标仓库

在目标仓库从 bundle 获取提交:

git fetch changes.bundle <branch-name>:<local-branch-name>

然后可以 cherry-pick 或 merge 这个提交

注意事项

  1. 确保两个仓库的文件结构确实相同,否则可能会产生冲突

  2. 如果提交有依赖的其他提交,可能需要一并迁移

  3. 应用补丁时可能会遇到冲突,需要手动解决

张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:560
    • 页面总数:19
    • 分类总数:96
    • 标签总数:215
    • 评论总数:71
    • 浏览总数:416234

    | | |
    | |  Z-Blog PHP