2012-01-05 97 views
3

我的團隊中的開發人員對錯誤的遠程存儲庫進行了更改。我想刪除他推送到遠程存儲庫上的此存儲庫的內容。我不想在本地改變任何東西。撤銷遠程分支上的git push而不更改本地存儲庫?

因此哪能:

  1. 名單上的遠程倉庫分支的提交,這樣我可以看到哪些承諾已經被推需要被刪除。

  2. 刪除遠程存儲庫分支上的每個提交,以便我可以在推送其更改之前返回提交。

我不知道,如果「刪除」是正確的過程,或者如果它的目的是爲「恢復」,但最終我需要遠程倉庫分支又回到了它在那裏,他推之前,他的變化。

回答

5

馬克,其中一個分支,最後被

git tag original-master origin/master 

檢查你從服務器得到什麼:

git fetch 

git log --all --graph 

gitk --all 

如果你的標籤仍然是有道理的,這就是遠程分支應該是,強制推動:

自修復

git tag -d original-master 

更新您的跟蹤分支:0

git push -f origin original-master:master 
犯下作爲主

,如果它的另一個承諾,推:

git push -f origin <some SHA1>:master 

清理

git fetch 

這假定「主人」是有問題的分支。如果是另一個,請將「master」替換爲正確的分支名稱。

相關問題