簡體   English   中英

需要回到git中的上一步提交,如何?

[英]Need to go back to prev commit in git,How?

我已經通過刪除某些文件修改了源目錄並進行了commit 然后我push origin master送到遠程主機github。

現在我知道我需要那些文件才能正常運行。 現在,我需要一種方法來返回上一個commit ,然后push送到遠程主機。

有可能這樣做嗎? 我對git很陌生,對此感到困惑。

提前致謝。

由於您已經推送了,所以我建議您反對Nikhil的解決方案,並建議您對最新提交執行“ git revert”,例如git revert HEAD然后推送。 revert命令將創建一個新的提交,以撤消指定提交的影響,並將其添加到您的存儲庫中。

git revert創建一個新的提交,該提交撤消一個或多個先前的提交。 通常,這是撤消已經推送的提交的最佳方法。

例如,此命令將還原從提交abc1234到最新的提交( HEAD )的所有內容:

git revert abc1234..HEAD

您也可以使用git reset ,但是此命令會更改歷史記錄,並且會對使用存儲庫的其他任何人造成問題。 通常,僅當您要放棄尚未推送的更改(並且您確定將來不希望再返回)時才應使用此命令。

試試這些

git reset --hard SHAsumOfYourCommit
git reset --hard HEAD [your current head point]
git reset --hard HEAD^ [your previous head point]

或者您可以刪除最后一次提交

假設我們有一個帶分支master的遠程myrepo,該遠程myrepo當前指向提交dd61ab32,您可以使用以下命令刪除最后一個提交。

git push myrepo +dd61ab32^:master

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM