我有三个分支(master,development和android-version)。
我们正在开发react-native app,我们首先创建了development branch
中的IOS版本。
然后几个月前我们开始研究Android版本,我用git checkout -b android-version
创建了新分支,因此development branch
中的所有文件都被复制到android-version branch
。我修改了android-version分支上的文件以便在android上工作,我已将其推送到android-version branch
。但我没有将它与开发分支合并。那是两个月前的事。
在过去的两个月里,我的同事一直致力于IOS版本,因此在development
分支上。现在我需要将这些更改发送到android-version
分支并修改它们以在android上工作。问题是我删除了android-version branch
上的一些组件,如果我将它与开发分支合并,我不想删除它们。
git merge development
聪明的主意吗?
我想如果合并的话,我会从development branch
获取所有已删除的组件?
答案 0 :(得分:0)
合并可能不是最好的工具,请尝试使用rebase
如果for l in rbh:
# no need to split twice, you can just unpack
emid, egid = l.split('\t')
for lm in ems:
if emid in lm:
print lm.strip()
print next(ems).strip()
break # no need to go further
ems.seek(0) # reset the file pointer
# etc...
分支上有重大更改,可能需要对development
中现有更新进行一些修复,并且您希望某天同步Android和iOS开发,则应该线性化您的历史记录,提供修复提交到您现有的工作,审查它然后推送。
我想情况如下:
android-version
其中M - I1 - I2 <development)
\
\ A1 - A2 - A3 <android-version)
提交适用于iOS,I
适用于Android。这里提出的方法(A
)将在(在解决可能的碰撞之后)中产生:
git checkout android-version; git rebase development
现在您可以查看您的想法,解决可能出现的问题等等。
在您确定Android版本没有在iOS中破坏任何内容并且可以更新整个M - I1 - I2 - A1 - A2 - A3 <android-version)
<development)
之后,将不会出现令人讨厌的合并提交,因为它将是一个很好的快进合并。