【发布时间】:2011-01-18 03:31:13
【问题描述】:
当我使用git format-patch 时,它似乎不包括合并。如何执行合并,然后将其作为一组补丁通过电子邮件发送给某人?
例如,假设我合并两个分支并在合并之上执行另一个提交:
git init
echo "initial file" > test.txt
git add test.txt
git commit -m "Commit A"
git checkout -b foo master
echo "foo" > test.txt
git commit -a -m "Commit B"
git checkout -b bar master
echo "bar" > test.txt
git commit -a -m "Commit C"
git merge foo
echo "foobar" > test.txt
git commit -a -m "Commit M"
echo "2nd line" >> test.txt
git commit -a -m "Commit D"
这将创建以下树:
B
/ \
A M - D
\ /
C
现在我尝试检查初始提交并重放上述更改:
git checkout -b replay master
git format-patch --stdout master..bar | git am -3
这会产生合并冲突。在这种情况下,git format-patch master..bar 仅生成 3 个补丁,省略“提交 M”。我该如何处理?
-杰弗里·李
【问题讨论】: