2011-02-03 188 views
1

我創建了一個遠程Git倉庫,並繼續從錯誤的本地倉庫推入代碼。
本地回購很好我只是想刪除我推送到遠程的內容並重新開始。刪除或撤消推送到遠程Git倉庫

我已經試過git push origin :master但得到了一個錯誤:

! [remote rejected] master (branch is currently checked out) 
error: failed to push some refs to 'ssh://................. 

是否有檢查它的一個簡單的方法? 「檢入」或「檢入」(以及其他變化)不會產生相關結果。

+0

我需要更好地解釋一下 我們正在使用Gerrit,並且有一臺Redhat Enterprise機器爲許多項目提供遠程回購。我有一個圍繞一個我們正在使用的系統稱爲lectopia的項目。 – 2011-02-04 02:31:38

回答

2
branch is currently checked out 

這意味着您的remote repo isn't a bare repo(即一個沒有任何工作樹庫,這意味着一個分支已被檢查出來)。另外,這將刪除所有master分支!

如果您有權訪問遠程回購的服務器,您可以將主分支重置爲HEAD~1,以便remove what has just been pushed(假設您是唯一推送給它的人)。

如果您還沒有一個直接的訪問,你可以去到一個正確的本地回購和force push that correct HEAD to master

git push origin HEAD --force 

不過我也建議converting your remote repo to a bare repo

1

你試圖做的是刪除分支頭,而不是提交。絕對不是你想要的。 但是,刪除中央提交是一個壞主意。改用「git revert」。