git format-patch打补丁

git format-patch HEAD^ 这个命令会产生从倒数第二个提交 HEAD^ 到最后提交 HEAD 之间所有提交的差异,并生成一个包含这些差异的补丁文件。这是一个包含详细步骤的例子:

第一步,创建一个新的 git 仓库并进行一些提交。这些提交是我们稍后会生成补丁的。

mkdir testrepo
cd testrepo
git init
echo "Hello, world!" > hello.txt
git add hello.txt
git commit -m "First commit"

现在我们有一个名为 hello.txt 的文件,内容是 “Hello, world!”。然后我们再添加一个改变:

echo "Hello, everyone!" > hello.txt
git commit -am "Second commit"

第二步,现在使用 git format-patch HEAD^ 生成补丁文件:

git format-patch HEAD^

现在在当前目录下应该有一个 0001-Second-commit.patch 文件。这个文件就是补丁文件,它描述了从第一次提交到第二次提交之间的所有改变。你可以查看这个补丁文件:

cat 0001-Second-commit.patch

这个补丁文件可以应用到另一个 git 仓库,或者被发送给其他开发者,他们可以使用这个补丁来把你的改变应用到他们的仓库。要应用这个补丁,可以使用 git apply 命令:

git apply 0001-Second-commit.patch

实现自定义补丁文件名的需求

先让 git format-patch 自动生成补丁文件,然后再使用 mv 命令来重命名这个文件:

git format-patch -1
mv 0001-Some-previous-commit.patch mypatch.patch

你可能感兴趣的:(patch,linux)