2013-05-16 41 views
2

我們在github有回購 我們使用sourceTree作爲gitclient重置一箇舊的提交git回購?

有沒有辦法將回購重置爲舊提交?

我試圖與sourcetree做本地,我可以去儘可能在本地復位老犯的問題。

然而,當我嘗試推送到遠程的回購反映當地的變化,它告訴我,因爲遠程回購是超過了地方回購

任何想法的那是不可能的?

乾杯

+0

這已經被問了很多次。 答案就在這裏:http://stackoverflow.com/questions/4114095/git-revert-to-previous-commit-how – Anickyan

+0

這個問題是關於如何強制更新一個裁判在_remote_庫。 – gcbenison

回答

2

Git正在停止推送,因爲它會放棄在遠程的歷史。這通常是不好的的事情,所以git幫助你避免了一個錯誤。如果你確實是想推一個本地分支是一種放棄歷史的方式,你需要添加-f這個標誌。

git push -f <remote> <branch> 

聽起來好像這是你想要的,但小心。檢查的

git fetch <remote> 
git log <remote_branch> --not <local_branch> 

輸出,並確保你真的想放棄所有這些提交的你盡了力前推。

0

我認爲最好的辦法是使用git revert,以便爲還原,而不是強迫,你刪除的歷史推一個新的提交。

GIT中還原用於記錄一些新提交扭轉 效果一些較早的提交(往往只有一個錯誤的一個)。