想到的第一个也是最重要的问题是为什么我们真的需要发送补丁电子邮件来为开源项目做出贡献,而不是仅仅创建一个拉取请求。答案非常简单,因为有些组织希望您通过进行更改并通过电子邮件以补丁的形式发送这些更改来为他们的项目做出贡献。
什么是补丁?补丁是一个小文件,指示在存储库中所做的更改。它通常用于团队外部的人员具有只读访问权限但可以进行良好的代码更改时。然后他创建一个补丁并将其发送给您。
Note: This tutorial is based on Ubuntu and expect you already have git installed in your system, if not you can check this tutorial on how to install git.
第 1 步:我们将开始安装所需的软件包git-email 。需要此包才能通过电子邮件发送补丁。为此,请打开您选择的任何终端并输入命令:
sudo apt-get install git-email
第 2 步:配置您的全局 git 配置文件,以便使用 git 发送电子邮件。要在终端中输入以下命令执行此操作,它将在您的默认浏览器中打开 git 配置文件。
git config --global --edit
第 3 步:使用以下详细信息更新配置文件:
...
...
[sendemail]
smtpserver = smtp.googlemail.com
smtpencryption = tls
smtpserverport = 587
smtpuser = youremail@gmail.com
Note: Don’t forget to change youremail@gmail.com with your actual email address.
并在编辑文件相同的文件后退出编辑器。
第 4 步:现在这是最重要的步骤之一,因为在这一步中我们将创建一个 .patch 文件。为了创建补丁,您必须修改或对要贡献的存储库进行一些更改,并在进行这些更改后,简单地保存这些文件并键入此命令以创建补丁。
git add .
git commit -m "your message"
git format-patch --to=senderemail@gmail.com HEAD~..HEAD
Note: The HEAD~ option tells git to create the patch of the latest commit only but if you want to create a patch of your last two commits then simply change HEAD~ to HEAD~2.
如您所见,成功运行这些命令后,会生成一个补丁文件,我们将使用 git send-email 发送此文件。
第 5 步:一旦我们有了 .patch 文件,我们就可以将此补丁文件发送给维护存储库的人员或打算向其发送消息的人员。为此,请运行以下命令:
git send-email *.patch --to=receiver@gmail.com --cc=carboncopy@gmail.com
Note: Don’t forget to update the –to option and the –cc option with actual email addresses.
运行此命令后,git 将询问您的 Gmail 密码,因此请输入您的密码,一旦成功发送消息,您将收到一条成功消息。
而已。现在等待它被审查,一旦审查并发现有效,你的贡献就会成功。