我需要编写一个脚本,为 SHA1 提交号列表创建补丁。
我尝试使用git format-patch <the SHA1>
,但是从那个 SHA1 开始为每次提交生成一个补丁。在生成几百个补丁之后,我不得不杀死这个过程。
有没有办法只为特定的 SHA1 生成补丁?
尝试:
git <a href="https://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html" rel="noreferrer">format-patch</a> -1 <sha>
要么
git format-patch -1 HEAD
根据上面的文档链接, -1
标志告诉 git 应该在补丁中包含多少次提交;
-
从最顶层的提交准备补丁。
使用以下命令应用修补程序:
git am < file.patch
要从特定 sha1 哈希中从最顶层提交生成修补程序:
git format-patch -<n> <SHA1>
头文件中的最后 10 个补丁在一个补丁文件中:
git format-patch -10 HEAD --stdout > 0001-last-10-commits.patch
假设您在提交 1 之后提交了 id 2,那么您将能够运行:
git diff 2 1 > mypatch.diff
其中 2 和 1 是 SHA 哈希。