我想为最后2个版本创建一个补丁.
git format-patch -2
Run Code Online (Sandbox Code Playgroud)
给了我2个补丁文件,每个版本一个
git format-patch HEAD~2..HEAD
Run Code Online (Sandbox Code Playgroud)
给出同样的东西.
git format-patch -1 HEAD~2..HEAD
Run Code Online (Sandbox Code Playgroud)
提供单个文件,但仅包含上次修订的更改.
有没有办法在git中这样做?
Tob*_*obu 55
git diff HEAD~2..HEAD > my-patch.diff
Run Code Online (Sandbox Code Playgroud)
但它不会有任何format-patch的per-commit元数据.
JC *_*and 50
使用--stdout选项,然后将其捕获到文件中.
像这样:
git format-patch HEAD~2..HEAD --stdout > changes.patch
Run Code Online (Sandbox Code Playgroud)
这将保留每次提交的元数据.
使用 Git 2.20(2018 年第 4 季度)及更高版本,您现在拥有:
git format-patch --interdiff。git format-patch --rangediff。两者都有助于解释此版本与求职信中之前的尝试(或在树破折号之后作为评论)之间的差异。
format-patch:允许--interdiff/--rangediff应用于单独的补丁当提交补丁或系列的修订版本时,(对审阅者)以 Interdiff 的形式(通常在求职信中)包含自上次尝试以来的更改摘要可能会有所帮助。
然而,尽管会造成阅读噪音,但偶尔还是有用的,将 interdiff 或 rangediff 插入 1 个补丁系列的单个补丁的注释部分。
请参阅提交 ee6cbf7、提交 3fcc7a2、提交 3b02641、提交 5ac290f、提交 126facf、提交 fa5b7ea(2018 年 7 月 22 日),作者:Eric Sunshine ( sunshineco)。
(由Junio C Hamano 合并 -- gitster--在提交 688cb1c中,2018 年 9 月 17 日)
因此,扩展“
git format-patch --interdiff=<prev>”以将差异插入到单独补丁的评论部分,而不需要附信。
差异之间的缩进是为了避免混淆git-am,避免人类读者将其视为补丁本身的一部分。
请参阅提交 40ce416、提交 8631bf1、提交 4ee9968、提交 2e6fd71、提交 31e2617、提交 73a834e、提交 2566865、提交 87f1b2d(2018 年 7 月 22 日),作者:Eric Sunshine ( sunshineco)。
(由Junio C Hamano 合并 -- gitster--在提交 881c019中,2018 年 9 月 17 日)
因此,扩展“
git format-patch --range-diff=<refspec>”以将 a 插入range-diff到单个补丁的注释部分,而不需要附信。
| 归档时间: |
|
| 查看次数: |
35052 次 |
| 最近记录: |