Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 我怎样才能得到一个;吉特日志;特定提交的修补程序_Git_Version Control_Patch_Git Log - Fatal编程技术网

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>