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

Dar*_*ght 24 git

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

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

Cas*_*bel 24

涉及的另一件大事是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
Run Code Online (Sandbox Code Playgroud)

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

git am *.patch
Run Code Online (Sandbox Code Playgroud)

你必须弄清楚如何从你的邮件客户端自己导出mbox格式的补丁,不过我想你也可以简单地将它们作为附件发送或直接传输它们.

您可以在一个存储库中完成自己的尝试,看看它是如何工作的.如上所述创建一组补丁,然后检查起点,并使用git am应用补丁.

  • @DarkKnight:在哪一端?在联机帮助页中有关于使用gmail作为`git send-email`的smtp服务器的说明.另一方面......如果补丁是作为附件发送的,只需将它们全部保存起来并完全按照我在回答中的说明进行操作.如果它们是在线发送的,你可以(在gmail中)显示原始消息(右上角的下拉列表),保存它,删除顶部的空行(不确定它来自哪里),然后运行`git我在上面. (2认同)

Cir*_*四事件 5

拼凑解决办法

https://github.com/getpatchwork/patchwork

由于似乎没有人知道如何使用现成的工具将电子邮件转换为 mbox,因此许多基石恐龙项目都有一个关联的(有时是官方推荐的)正在运行的拼凑实例,其中许多托管在 https://patchwork.ozlabs.org上/例如:

Patchwork 订阅列表,解析 生成的补丁git send-email,并允许您下载补丁。

所以是的,电子邮件之上的另一个工具层......

Thunderbird 导出到 mbox

提问于:应用来自 Thunderbird 的 git 系列补丁的最简单方法是什么到目前为止没有答案。

也可以看看


J-1*_*DiZ 4

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