Git使用补丁

时间:2009-06-11 14:46:59

标签: git version-control patch

跟进我之前的问题Git work flow with an inexpirenced member. 我选择让他给我发补丁。问题是我之前没有使用过补丁,但我找不到解释工作流程的教程。

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

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

3 个答案:

答案 0 :(得分:4)

使用git-format-patch(1)创建补丁,或者,如果您只想git-send-email(1)发送电子邮件,请执行此修补程序。

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

答案 1 :(得分: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

请注意,由于commiters的不同,它不会给你与原版相同的版本。在这种情况下(http://home.regit.org/?page_id=32

,这有点复杂

答案 2 :(得分:1)

没有提交:

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

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

如果他确实提交了,那就给diff一些参数。

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

然后你就做了:

git apply mysecondpatch.txt