繁体   English   中英

Git:你如何打破与原始回购的关系?

[英]Git: How do you fork with the intention of breaking ties with the original repo?

我想分一个回购集团打算与原始回购破坏关系。 没有任何拉动请求或任何未来的合并。 新的仓库将有一个新的项目名称。 我不复制源文件并从头开始一个全新的repo的唯一原因是因为我想保留提交历史记录。 我该怎么做呢?

澄清 :我确实使用Github。 我以前没有意识到Github特有的东西。 根据我的具体需求,我有一个git repo,它包含两个独立的项目(一个Scala,一个Java)。 这两个项目的文件已经开始相互干扰,所以我要分配repo,并在新的repo中删除Scala项目的所有文件。 在原始仓库中,我将删除Java项目的所有文件。

如果你计划保留原始项目中的所有内容(或几乎所有内容),我会正常分叉并开始大量修改它。

如果您只需要一小部分文件,则可以使用filter-branch从整个历史记录中删除您不需要的部分存储库。 此步骤将更改每个提交SHA,并使其无法从原始提取或合并(至少自动)。 但是,没有要这样做。

如果您担心意外的跨项目污染,您可以使用filter-branch步骤,以确保历史记录不兼容,即使您保留大部分文件。 如果没有什么可以删除,你可以做一些简单的事情,如重写初始提交的提交消息。

如果这是一个github问题,我认为您需要做的是将repo克隆到本地机器,在github上创建一个新项目(而不是分配原始项目),然后推送到新项目。 据我所知,Github不会弄清楚这种关系。 但是如果你担心,在初始克隆和推送之间仍然存在filter-branch

暂无
暂无

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

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