2

用一个没有经验的成员跟进我之前的问题Git 工作流程。 我选择让他发送补丁给我。问题是我以前没有使用过补丁,也找不到解释工作流程的教程。

我想要的是让他从 repo 中提取最新的代码。创建一个分支,在他完成后提交他的更改,我希望他为它创建一个补丁,这样我就可以将它集成到 master 中。

你能告诉我如何在这种情况下创建补丁并将其应用于我的主人吗?

4

3 回答 3

4

使用git-format-patch(1)创建补丁,或者,如果您想发送电子邮件,只需git-send-email(1)

然后使用git-apply(1)或电子邮件应用git-am(1)

于 2009-06-11T14:57:51.520 回答
2

这相对容易。假设分支是 foo,并且来自 master 的补丁:

# Put every patch for revisions from master to foo into tmp: 0001, 0002, etc...
git format-patch master...foo --stdout > yo

....

# You apply the patches with git am
cat yo | git am

请注意,由于提交者的差异,它不会为您提供与原始版本相同的修订。在这种情况下,这有点复杂(http://home.regit.org/?page_id=32

于 2009-06-11T14:56:39.790 回答
1

不承诺:

git pull
<hack>
git diff -p > myfirstpatch.txt

然后他可以通过电子邮件将补丁发送给您。

如果他确实提交了,那么只需给 diff 一些论据。

git diff blah...blah2 -p >mysecondpatch.txt

然后你就这样做:

git apply mysecondpatch.txt
于 2009-06-11T17:35:32.967 回答