Git 我怎样才能得到一个;吉特日志;特定提交的修补程序
如果我有一个提交散列还没有被推送到源站,我怎么能只为该提交生成补丁呢。我想使用Git 我怎样才能得到一个;吉特日志;特定提交的修补程序,git,version-control,patch,git-log,Git,Version Control,Patch,Git Log,如果我有一个提交散列还没有被推送到源站,我怎么能只为该提交生成补丁呢。我想使用git log-p——没有名字,但看不到在特定提交散列中传递的开关。我应该使用不同的git命令吗?用于git日志修补程序: git log -p -1 <commit> 谢谢。格式补丁代替了git log-p,有什么好处?@Jonathan:两者都可以作为一个diff,供人使用(例如供审查),但是git格式补丁的输出封装了作者信息和提交消息(以及diff文本)采用标准格式,以便其他工具(例如,git se
git log-p——没有名字
,但看不到在特定提交散列中传递的开关。我应该使用不同的git命令吗?用于git日志修补程序:
git log -p -1 <commit>
谢谢。格式补丁代替了
git log-p
,有什么好处?@Jonathan:两者都可以作为一个diff,供人使用(例如供审查),但是git格式补丁的输出封装了作者信息和提交消息(以及diff文本)采用标准格式,以便其他工具(例如,git send email
将其作为电子邮件发送,以及git am
应用一个或多个修补程序(例如,一些已作为收到的电子邮件收集)可靠地对其进行分析。谢谢@Chris,这很有帮助。看起来ubuntu补丁在解析git log-p的输出时遇到了问题,所以这可能是问题所在solution@Jonathan:Git样式的diff(即带有diff--Git
头的diff)有几个常规修补程序无法理解的扩展(尽管格式非常相似,因此在许多情况下可能会工作)。您可以使用git-apply
(甚至在存储库的工作树之外)应用普通差异(例如,从git-diff
或git-log-p
),或者如果您有来自git-format-patch
的完整“补丁”,则可以使用git-am
来(重新)创建所表示的提交。
git format-patch -1 <commit>