我有两个回购。一个是私人的发展,一个是公开的官方。
我在开发回购中完成所有工作,所有提交历史都在那里。现在我想在一次提交中将开发合并到官方,但我不希望所有历史都来自开发。只需在一次提交中实际代码更改合并。
到目前为止,我没有找到任何方法将回购A合并到回购B而没有回购A的历史。我绑了http://blog.caplin.com/2013/09/18/merging-two-git-repositories/但没有运气并尝试了几个像Import a git repository with all its history into an existing git repository
答案 0 :(得分:1)
这是git merge --squash
的工作。
dev
。master
(或任何其他分支)设置为您要提交的点。然后发出以下命令:
git checkout master
git merge --squash dev
git commit
这将在您的本地仓库中创建一个新的提交,其中包含dev
分支的所有更改。然后,您可以将提交推送到远程仓库。
答案 1 :(得分:0)
确保开发回购的工作副本是最新的;没有未提交的更改。
将所有工作文件从开发回购复制到公共回购。
从公共存储库的工作副本中删除不在开发回购工作副本中的所有文件。
将更改提交给公共回购。