繁体   English   中英

没有历史的Git拉

[英]Git pull without history

我创建了一个远程存储库的本地副本。 由于一些旧的错误提交数据导致了麻烦,我不得不重写(filter-branch)本地repo历史记录。 所以现在我有一个远程仓库的克隆,除了提交哈希都是不同的。

有没有办法让本地仓库仍然可以使用远程工具从中提取未来的提交? 它永远不会推动,所以这不是一个问题。 如果我运行git pull,它会尝试拉出它的整个原始历史记录,这是不需要的,只会重新破坏本地存储库。

如果你关心的只是拉动,那么是的。 你可以做的是获取远程存储库。 然后从远程仓库中识别与最新本地提交匹配的提交。 然后使用-s ours标志将远程提交合并到本地,以设置ours策略。 这将生成一个合并提交,将两个历史记录联系在一起,同时仅使用本地历史记录中的树(因此,没有合并冲突)。

通过这种合并,您现在可以安全地从远程存储库中进行git pull ,它只会尝试合并比刚刚创建的虚拟合并更新的提交。

请注意,您仍然需要保留远程仓库的整个历史记录,并且它将作为虚拟合并的第二个父级访问。 但它不会影响你的本地树。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM