我們在github有回購 我們使用sourceTree作爲gitclient重置一箇舊的提交git回購?
有沒有辦法將回購重置爲舊提交?
我試圖與sourcetree做本地,我可以去儘可能在本地復位老犯的問題。
然而,當我嘗試推送到遠程的回購反映當地的變化,它告訴我,因爲遠程回購是超過了地方回購
任何想法的那是不可能的?
乾杯
我們在github有回購 我們使用sourceTree作爲gitclient重置一箇舊的提交git回購?
有沒有辦法將回購重置爲舊提交?
我試圖與sourcetree做本地,我可以去儘可能在本地復位老犯的問題。
然而,當我嘗試推送到遠程的回購反映當地的變化,它告訴我,因爲遠程回購是超過了地方回購
任何想法的那是不可能的?
乾杯
Git正在停止推送,因爲它會放棄在遠程的歷史。這通常是不好的的事情,所以git幫助你避免了一個錯誤。如果你確實是想推一個本地分支是一種放棄歷史的方式,你需要添加-f
這個標誌。
git push -f <remote> <branch>
聽起來好像這是你想要的,但小心。檢查的
git fetch <remote>
git log <remote_branch> --not <local_branch>
輸出,並確保你真的想放棄所有這些提交的你盡了力前推。
我認爲最好的辦法是使用git revert
,以便爲還原,而不是強迫,你刪除的歷史推一個新的提交。
GIT中還原用於記錄一些新提交扭轉 效果一些較早的提交(往往只有一個錯誤的一個)。
這已經被問了很多次。 答案就在這裏:http://stackoverflow.com/questions/4114095/git-revert-to-previous-commit-how – Anickyan
這個問題是關於如何強制更新一個裁判在_remote_庫。 – gcbenison