我正在尝试制作一个远程 git 仓库的完整副本,它将包括完整的历史记录(最好能够在事后删除标签)作为一个单独的远程 git 仓库。我发现唯一能做到这一点的就是镜像回购协议。问题是我希望新创建的回购完全独立于原始回购,但镜像仍与原始回购同步。
有什么方法可以将原始回购的完整副本创建到新回购中,我可以在其中保留分支和历史记录但删除标签并将其与原始回购完全断开,以便它们完全是他们自己的回购无法推送/拉/彼此同步?
如前所述,我尝试使用镜像仓库
Git 克隆 — 原始仓库 url git push —mirror new-repo-url
但我不确定如何取消镜像与原始镜像的同步
Git 存储库仅通过其 remotes 相互连接。删除遥控器。
git clone
正常。这是原始存储库及其历史、分支和标签的完整副本。
克隆创建了一个远程到原始仓库的远程仓库,称为“origin”。删除它:
git remote rm origin
。这将删除所有远程分支和标签(origin/main、origin/v1.1 等)。现在你克隆的仓库没有远程,也没有与原始仓库的连接。
根据评论中的讨论,让我们来看看这个。
你有一个远程仓库,假设它在 git:example.com/repo.git.
你有一个从这个远程克隆的本地仓库。
你想...
制作独立的远程副本...
git clone --bare git:example.com/repo.git
.git remote rm origin
.现在你有一份原件的副本,没有参考原件。假设它在 git:example.com/copy.git.
然后拥有副本的本地克隆...
git clone git:example.com/copy.git
git remote set-url origin git:example.com/repo.git
和 git pull
以确保它是最新的。