6

我正在为一个开源项目的开发做出贡献,该项目使用 git 作为源代码的存储库。

在对源代码进行一些修改后,我想生成一个包含我的签名(电子邮件地址和我的姓名)的补丁并将其发送给开源项目维护者。

我该怎么做?

4

2 回答 2

7

1)从git存储库下载源代码:

git clone git://address.of.repository/project/ /folder/path/on/my/computer

2)对源代码进行一些修改。可以在项目中添加新文件/文件夹

3) 为 git commit 签名设置您的电子邮件地址和您的姓名:

git config --global user.name "Your Name"
git config --global user.email you@example.com

完成此操作后,您可以通过以下方式修复用于此提交的身份:

git commit --amend --reset-author

4)在提交更改之前。我们必须将新文件/文件夹添加到本地 git 存储库:

源码的项目文件夹下

git add <Newfolder>
git add <Newfile>

4)然后在本地提交修改:

源码的项目文件夹下

commit -a

这将打开一个interactif窗口

您可以检查提交是否检测到已编辑的文件和以下新文件:

# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   bin/Makefile.am
#       modified:   configure.ac
#       new file:   src/new.c

在 的 窗口下commit -a,您必须为您的修改输入注释

然后用Ctrl+ O(WriteOut)保存你的提交,然后Enter你的提交现在就被保存了

然后用+ (Exit)退出commit -a窗口CtrlX

5)现在你可以生成你的补丁:

源码的项目文件夹下

git format-patch -1

这将生成一个名称如下的补丁文件0001-...-...-.. .patch

如果你想生成补丁,signed-off-by只需添加-s

git format-patch -1 -s
于 2012-11-02T09:46:36.170 回答
0

注意:关于该git format-patch部分,您将(git 2.0.x/git 2.11,Q3 2014)添加在文件中定义的签名。

请参阅Jeremiah Mahler的提交 7022650 ( )jmahler

format-patch: 添加 " --signature-file=<file>" 选项

为格式补丁添加一个选项,用于从文件中读取签名。

$ git format-patch -1 --signature-file=$HOME/.signature

config 变量format.signaturefile也可用于将其设为默认值。

$ git config format.signaturefile $HOME/.signature
$ git format-patch -1 
于 2014-07-27T20:33:10.007 回答