我错误地将数百个提交从我本地回购到新创建的github回购。 如何清理/删除远程仓库中的所有这些提交,以便github仓库在开始时是干净的?我也想在这些行动上失去历史。 我想这样做,而不会影响我的本地回购。如何从远程github回购清理所有提交
我无法删除分支,因为它是github主分支。
我错误地将数百个提交从我本地回购到新创建的github回购。 如何清理/删除远程仓库中的所有这些提交,以便github仓库在开始时是干净的?我也想在这些行动上失去历史。 我想这样做,而不会影响我的本地回购。如何从远程github回购清理所有提交
我无法删除分支,因为它是github主分支。
,你可以:
- git clone <your github repo>
- git reset --hard <an_older_commit> (where you didn't have those huge files)
- git push --force origin master
这样:
git gc
,完全清理未引用的文件。然而OP Martin提到:
哪能前第一承诺永远做
reset --hard
的位置?
即我想获得回购空不回滚到以前提交
在这种情况下,创建一个新的本地回购,使第一小提交,并push --force
犯下。
更一般地说,我总是试图在创建回购时在master分支上初始提交小型,以便能够返回最小提交或启动新分支(对于不相关的开发工作)来自所述最小提交。
git push -f REMOTE COMMIT:BRANCH
例如,要强制分支master
在远程origin
有撤销,直至与ID 123456
提交你应该做
git push -f origin 123456:master
如果你正在寻找完全复位的历史,为什么不只是删除回购并重新创建它? –
如果这是一个新的回购,你总是可以删除它,并再次推出适当的提交。 – Clueless
好,是的。删除它并重新创建它就是我最终的结果。我只是觉得有一些聪明的方法来清理它。 – Martin