如何使用git am从电子邮件中应用补丁?

时间:2011-02-21 04:44:52

标签: git

我非常熟悉git(基本的东西 - 至少分支,合并,与同行等合作)但是前几天我的一个朋友告诉我,我们可以在我们的邮箱中使用git。 涉及的包是git-am(manual page here)。

请有人帮我开始使用git-am。

3 个答案:

答案 0 :(得分:22)

涉及的另一件大事是git format-patch。这将创建要通过电子邮件发送的补丁;然后可以使用git send-email或直接发送它们。例如:

# create a patch for each commit from origin's master to yours
git format-patch origin/master..master

# now send them... 
# there are a zillion options here, and also some configuration; read the man page
git send-email --to=maintainer@project.com --from=me@here.com ... *.patch

git am将接受format-patch创建的修补程序,并按顺序应用它们,例如:

git am *.patch

您必须自己弄清楚如何从邮件客户端以mbox格式导出补丁,但我想您也可以将它们作为附件发送或直接传输。

您可以在一个存储库中完全尝试这一点,看看它是如何工作的。如上所述创建一组修补程序,然后检查起点,并使用git am应用修补程序。

答案 1 :(得分:3)

您需要一个可以将邮件导出为mbox文件的邮件客户端。导出邮件并运行git-am your-mbox-file。已经完成了。

答案 2 :(得分:0)

如果您要应用补丁的项目的邮件列表使用 public-inboxmost Linux subprojects and Git 就是这种情况,您可以使用 b4 am 工具下载最新版本的一个补丁系列并将其通过管道传输到 git am:

b4 am -o- $url | git am

其中 url 是线程中任何消息的 URL。