2014-01-20 46 views
0

我有一個天藍色的網站,我使用的是Visual Studio Monaco,並且我通過Git發佈了我的代碼。將我的代碼回滾到以前的提交

我需要在網站的代碼回滾到以前的承諾(工作拷貝),而不會影響我的回購(只改變局部回購和代碼)

預先感謝您的幫助。

+0

我不能得到的問題:假設你的遠程被稱爲'liverepo':你想在那裏恢復提交(沒有改變你的本地工作副本)還是你想恢復提交在你的工作副本中不更改'liverepo'? – eckes

回答

0

如果不更改遠程存儲庫,則無法執行此操作。

最好的方法是創建一個修復更改的新提交(這甚至可以是恢復提交)。

另一種方法,將要求rewriting history(這是不是一件好事)將是使倉庫到先前的承諾:

git reset --hard <commit-hash> 

到你想去的地方(通過執行獲得哈希提交$ git log)。然後,你將不得不做力推:

git push -f 
+0

我已經做了一次,但我忘了命令,我沒有在谷歌上找到它了。在SVN中將是一件非常簡單的任務= / –

0

你可以很容易地簽在歷史上的任何承諾,只是做一個

git checkout hash-number 

你會在分離的頭的方式,你可以再創建一個新的分支或做任何你想做的事情,你不能通過遠程推送到同一個分支,因爲它會變成非快速提交,你可以重寫遠程或遠程推送到一個新的分支。

0

您要找的代碼是git revert HEAD~1..HEAD。這將回滾提交1.

相關問題