我们有一个Assembla远程仓库。 Assembla现在不提供免费的私人回购,所以我们想重新使用我们的旧回购。 repo有一个master分支和很多文件/提交。
我们如何摆脱一切,包括所有文件和历史,让我们重新开始一个新项目?
首先,我有一个最新的回购。
我试图删除远程主分支:
git push origin :master.
这给出了错误:
remote:error:默认情况下,删除当前分支,因为下一个 remote:错误:'git clone'不会导致任何文件签出,导致混淆。
所以我尝试创建一个新分支,推送它,然后从另一个分支删除master,因此:
git checkout -b tempy
git push origin tempy
git push origin :master
我得到了同样的错误。
我可以切换回master,在本地删除所有文件,然后提交并推送,但是他留下了很多不需要的历史记录。
有什么想法吗?
答案 0 :(得分:5)
最简单的答案是删除/删除您当前的项目,开始新项目。
或唯一的另一种方式是force
推送
rm -rf .git
git init
git add .
git commit -m "Initial commit"
git remote add origin <your-assembla-git-url>
git push -u --force origin master
答案 1 :(得分:1)
git checkout master
git reset --hard <commit> # where commit is SHA of first commit in history
git push origin master
或从您的本地仓库中完全删除.git
并重做git init
,请参阅https://stackoverflow.com/a/16502899/368552