我的问题可能看起来有点奇怪,因为我想要的通常只需删除存储库并创建一个新存储库即可。这就是为什么我仍然需要保留存储库的原因: 我的存储库的历史实际上是存储库中最有价值的部分。我用所有数据生成一个完整的存储库。存储库托管在github上,我想在那里更新存储库,以便像本地存储库一样完全(相同的历史记录)。
到目前为止,我发现执行此操作的唯一方法是在推送之前删除并重新创建github上的存储库。否则,所有旧提交仍将存在,从而有效地更改存储库的历史信息。 当然,在github上重建一个存储库是相当容易的,但是随着存储库,所有观察者,维基信息等都丢失了,我想要阻止它。
我发布了这里而不是github,因为我认为这个问题与Git相关而不是托管服务。
有什么想法吗?
答案 0 :(得分:5)
git push origin +master
之类的强制推送应该会有所帮助。所有远程更改都将丢失。
答案 1 :(得分:2)
步骤1:删除所有远程分支:
git fetch
git branch -r
对于每一行输出(它们应该看起来像origin/master
,origin/branch1
,...),将其添加到git push
行,如下所示:
git push origin :master :branch1 ...
第2步:推送您的本地分支
git push origin master branch1 ...