设置具有截断历史记录的Git remote

设置具有截断历史记录的Git remote,git,Git,我正在一个git存储库上做一些非标准的、可能是注定要失败的实验。目标是创建一个具有截断历史记录的远程存储库,该存储库仍然可以与具有完整历史记录的内部存储库共享提交 我使用嫁接成功地将公共历史与私人历史联系起来——当我从我的内部存储库中推送时,只包含嫁接后的内容 所以我的主要问题是:什么是最简单的方式来进行承诺,消除其父代并编写一个嫁接来代替父代 一个更普遍的问题是:从长远来看,我所做的事情是否会给我带来痛苦,你知道有没有更好的办法吗?斯科特·查孔(Scott Chacon)谈到了一些类似于你在A

我正在一个git存储库上做一些非标准的、可能是注定要失败的实验。目标是创建一个具有截断历史记录的远程存储库,该存储库仍然可以与具有完整历史记录的内部存储库共享提交

我使用嫁接成功地将公共历史与私人历史联系起来——当我从我的内部存储库中推送时,只包含嫁接后的内容

所以我的主要问题是:什么是最简单的方式来进行承诺,消除其父代并编写一个嫁接来代替父代


一个更普遍的问题是:从长远来看,我所做的事情是否会给我带来痛苦,你知道有没有更好的办法吗?

斯科特·查孔(Scott Chacon)谈到了一些类似于你在A()中描述的事情。他使用
git-rebase--on
将历史分为两部分,稍后将演示如何使用
git-replace
稍后恢复历史,如果您想这样做的话。我自己从来没有这样做过,但在他的帖子中有详细的解释。还有很多图表。

链接似乎不起作用,我尝试过这种方法,但遇到了很多合并冲突。@ryber,我更新了链接位置,这要感谢Wayback机器的帮助,但我无法真正解决您的合并冲突。