2

我们有一个 Assembla 远程仓库。Assembla 现在不提供免费的私人回购,所以我们想重新使用我们的旧回购之一。repo 有一个 master 分支和很多文件/提交。

我们怎样才能摆脱一切,包括所有文件和历史,让我们重新开始一个新项目?

首先,我有一个最新的 repo 拉取。

我因此尝试删除远程主分支:

git push origin :master.

这给出了错误:

remote: error: 默认情况下,拒绝删除当前分支,因为下一个 remote: error: 'git clone' 不会导致任何文件被检出,造成混乱。

所以我尝试创建一个新分支,推送它,然后从另一个分支删除master,因此:

git checkout -b tempy
git push origin tempy
git push origin :master

我犯了同样的错误。

我可以切换回master,在本地删除所有文件,然后提交并推送,但他留下了很多不需要的历史记录。

有任何想法吗?

4

2 回答 2

6

最简单的答案是移除/删除您当前的项目并开始一个新项目。

或者唯一的其他方法是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
于 2013-05-16T16:16:08.083 回答
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

于 2013-05-16T16:24:13.103 回答