如何用新的本地项目覆盖远程git仓库

6

我没有删除或创建新仓库的权限,因此我想清理我可以访问的旧仓库,并用我本地开始的新项目覆盖它。但我找不到如何执行此操作的说明。

1个回答

17

您可以将该仓库添加为新项目的远程仓库,然后使用 git push -f 命令来销毁该仓库的历史记录并用您自己的历史记录替换它。

无论是删除单个提交还是用新的历史记录替换所有内容,都可以很好地实现。


17
谢谢!如果有其他 Git 新手遇到此问题,以下是我采取的确切步骤: 在新的本地仓库中: git initgit add --allgit remote add origin <远程url>git commit -m“一些注释”git push -f origin master - insitumatt
@insitumatt 这真的应该是被接受的答案,而不是一个评论。另外需要注意的是,如果其他人已经拉取了主分支并需要更新,则应运行 git fetch --all 下载最新版本,然后运行 git reset --hard origin/master 覆盖所有内容。 - Matt K
@insitumatt 这个方法也解决了我的问题,谢谢! - user3953989
是的,它有效。然而,这种方法的缺点是如果您有克隆的代码库,您必须重新克隆它们。否则会出现“fatal: refusing to merge unrelated histories”的错误。这方面是否有任何解决方案? - o-sapov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接