首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何为特定的提交生成Git补丁?

如何为特定的提交生成Git补丁?
EN

Stack Overflow用户
提问于 2011-07-12 08:35:56
回答 9查看 788K关注 0票数 1.4K

我需要编写一个脚本,为SHA-1提交编号列表创建补丁。

我尝试使用git format-patch <the SHA1>,但这会为每个提交生成一个补丁,因为这个值是SHA-1。在生成了几百个补丁后,我不得不终止该进程。

有没有办法只为特定的SHA-1值生成补丁?

EN

回答 9

Stack Overflow用户

发布于 2011-07-12 08:43:00

尝试:

代码语言:javascript
运行
复制
git format-patch -1 <sha>

代码语言:javascript
运行
复制
git format-patch -1 HEAD

根据上面的文档链接,-1标志告诉Git应该在补丁中包含多少提交;

-

他们需要从最顶层的提交准备补丁。

使用以下命令应用修补程序:

代码语言:javascript
运行
复制
git am < file.patch
票数 2.3K
EN

Stack Overflow用户

发布于 2013-04-23 22:34:53

为了从特定SHA-1散列的最顶层提交生成补丁:

代码语言:javascript
运行
复制
git format-patch -<n> <SHA-1>

单个补丁文件中来自head的最后10个补丁:

代码语言:javascript
运行
复制
git format-patch -10 HEAD --stdout > 0001-last-10-commits.patch
票数 320
EN

Stack Overflow用户

发布于 2011-07-12 08:42:16

假设您在commit 1之后提交了id 2,您将能够运行:

代码语言:javascript
运行
复制
git diff 2 1 > mypatch.diff

其中2和1是SHA-1散列。

票数 102
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6658313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档