我正在从事Android开发工作,因此我决定将我自己的团队更改上传到我的github。
我做了一些项目的分支,比如框架/基础,所以我在那里有自己的提交。当我使用本指南enter link description here:
将远程原始github项目设置为远程时,问题就出现了我希望有一个干净的历史记录,所以如果原始项目添加4个提交,我希望将它们放在我的github的顶部,一个接一个。如果我在我的个人分支中使用git rebase,那么我的历史将被重写,另一方面,如果我使用git merge,那么我将只有1次提交所有更改。
有没有办法,手动挑选每一个更改,逐个添加原始团队项目的新提交?
提前致谢。
答案 0 :(得分:0)
如果我正确理解您的问题,您可以通过在个人分支上重新设定原始项目,然后将结果推送到远程个人分支来获得您想要的内容。
我们假设原始项目和您的个人分支各有两个提交:
original: A <- B <- C <- D
personal: A <- B <- E <- F
查看最新的原始分支,将其拉出,然后在个人分支上对其进行重新定位:
git checkout original
git pull origin original
git rebase personal
解决了rebase中的每个合并冲突后,您的本地原始分支将如下所示:
original: A <- B <- E <- F <-
C'
<- D'
我已将上面的提交C和D标记为素数,因为它们是在不同于原始C和D提交的代码库上进行的新提交。
最后一步是将结果推送到个人存储库。您应该能够快进远程个人回购:
git push origin original:personal
这似乎可以满足您的需求。您现在可以在个人分支中进行原始更改,而无需重写历史记录。如果我误解你的问题,请告诉我。