Git revert及其他一些回退操作


  放棄本地的代碼和本地提交,希望會退到遠程分支的某次提交時,使用git reset --hard fa042ce。

  本地已提交,但是發現有問題,想要撤銷本地的提交,使用git checkout /trs/test.java。

  想要恢復本地提交和遠程庫最新版本一致,但又保留本地的代碼,使用git reset origin/master。

 

  git revert創建一個新的版本,這個版本的內容與我們要回退到的目標版本一樣,但是HEAD指針是指向這個新生成的版本,而不是目標版本。

  git revert是新建一個commit,之前的commit會保留,在gerrit想回退至某個版本時很有用。

 

  git log 命令可以顯示所有提交過的版本信息,git reflog 可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)。

  例如執行 git reset --hard HEAD~1,退回到上一個版本,用git log則是看不出來被刪除的commitid,用git reflog則可以看到被刪除的commitid,我們就可以買后悔葯,恢復到被刪除的那個版本。

 

  本地沒有add的文件丟失后,可以嘗試IDEA等工具的Local History,有歷史記錄的話可以被恢復。

  reset之前如果執行過git add 操作的話,執行 git fsck --lost-found,然后到.git/lost-found目錄下找找看有沒有你丟失的文件。

 

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM