【问题标题】:git format-patch < everything since last svn rebase >git format-patch < 自上次 svn rebase 以来的所有内容 >
【发布时间】:2011-02-24 10:53:36
【问题描述】:

我正在尝试将我上次推送到 svn 服务器后的所有更改合并为一个大补丁,我可以通过电子邮件发送给我的同事以供审查。我可以用git format-patch 做到这一点吗?

【问题讨论】:

    标签: git git-svn patch


    【解决方案1】:

    您可以使用git format-patch origin/master 获取所有补丁,因为您当前的分支是从服务器分叉的。 (假设 HEAD 是命令中的最后一个参数,所以你得到的是origin/master..HEAD。)

    但是,正如 VonC 所暗示的,这可能会创建大量文件:您所做的每一次提交都会创建一个 .patch 文件!如果您只需要一个大补丁文件,他提到的git-diff 语法应该可以解决问题。 (git diff origin/master.. &gt; bigpatch.patch 将为您提供自您的 HEAD 和服务器的共同祖先以来的所有更改。)

    【讨论】:

      【解决方案2】:

      对于处理一个文件,git diff更合适(对于文本文件的补丁)

      git diff R1..R2 > patchR1R2.diff
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-02
        • 2011-12-11
        • 2023-03-31
        • 2010-11-05
        • 1970-01-01
        • 2017-07-27
        • 2022-12-02
        • 2019-01-11
        相关资源
        最近更新 更多