以下M
是主人,A1
和A2
是在新分店A
关闭M
。如何将未来版本的git补丁应用到过去的版本?
A2
是我感兴趣的申请B
的变化,而不考虑在A1
那里发生了什么不是A2
依赖于A1
(语义上讲任何改变,我不关心A1
尽可能B
关注。
A1 - A2
/
M
\
B
我可以做一个补丁,我的眼睛,期待权。看起来这仅持有的A2
变化。
当我以3种方式应用它时,它会尝试合并A1
的东西。
如果我没有3种方式申请,我不能让它工作,甚至没有一个正常的合并冲突来解决。
樱桃采摘也没有帮助。
# The Setup
mkdir git-problem && cd git-problem
git init
echo Original > a.txt
git add a.txt
git commit -am "initial"
# Branch A
git checkout -b branch-A
echo A1 >> a.txt
git commit -am "A1 Changes"
echo A2 >> a.txt
git commit -am "A2 Changes, the one's I want in branch-B"
git format-patch HEAD~
# Branch B
git checkout master
git checkout -b branch-B
# Tries to bring in both commits
# git cherry-pick d012465 # the latest commit on branch-A
# git am --3way -- 0001-A2-Changes-the-one-s-I-want-in-branch-B.patch
# git am -- 0001-A2-Changes-the-one-s-I-want-in-branch-B.patch
在M
,a.txt
是
Original
在A2
,a.txt
是
Original
A1
A2
在B
,我想使它:
Original
A2
确实你的步骤,我在樱桃挑选合并冲突。你有什么不寻常的设置。在gitattributes,例如? 'git check-attr -a a.txt'说。樱桃的输出是什么? – max630