2013-05-16 89 views
1

我們有一個Assembla遠程回購。 Assembla現在不提供免費的私人回購協議,因此我們希望重新使用舊的回收協議。回購有一個主分支和許多文件/提交。刪除/重置遠程主Git回購

我們如何擺脫包括所有文件和歷史在內的所有事情,讓我們再次開始一個新項目?

首先我有一個最新的回購拉回。

我試圖刪除遠程主分支正是如此:

git push origin :master. 

這給了錯誤:

remote: error: By default, deleting the current branch is denied, because the next remote: error: 'git clone' won't result in any file checked out, causing confusion.

所以,我試圖創建一個新的分支,推它,然後從其他分支刪除主,因此:

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

我得到相同的錯誤。

我可以切換回主,本地刪除所有文件,然後提交和推送,但他留下了許多不必要的歷史。

任何想法?

+1

移到到位桶? – cheesemacfly

回答

4

最簡單的答案是刪除/刪除您目前的項目和開始一個新的

或唯一的其他方式將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 
+0

按項目,你的意思是回購?我不能刪除回購,因爲assmebla.com不允許你再創建新回購(well ti,但只有2個用戶)。我只需要一種刪除文件和理想歷史的方法。通常可以刪除遠程分支,所以我想我可以刪除主分支,但似乎這是不允許的。 –

+0

@JohnLittle我已經更新了我的答案,這將刪除你的歷史記錄,並在那裏推空白的。 –

+0

嗨,奧利弗,試過你的解決方案。當嘗試按下時,說:「遠程錯誤:拒絕非快速前向refs/heads/master(你應該先拔出)...![遠程拒絕] master - > master(非快進)error:failed to推一些refst到'git @ ...任何建議表示讚賞... –

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