[英]Revert all changes to state of a previous commit
我在Git工作,想知道將我對Repo的所有更改還原為特定提交的最佳方法。 例如,以下是我的日志的示例:
commit hash#1
commit hash#2
commit hash#3
commit hash#4
我在我的master
分支中,並希望將對此repo所做的所有更改恢復為提交#4哈希。 這意味着我想撤消在散列#1,散列#2和散列#3中提交的更改。
我不想重寫/刪除歷史記錄,因為這是一個公共回購。 而且我確實希望(重新)提交哈希#4一旦它被還原為。
謝謝!
請嘗試以下方法
git reset --hard commit_hash_4
git reset --soft commit_hash_1
第一個命令將重置工作目錄並返回commit_hash_4。 第二個命令將頭部移回commit_hash_1。 此時進行操作將保留線性歷史記錄,但會為您提供commit_hash_4的狀態
一個很棒的重置概述( http://git-scm.com/2011/07/11/reset.html ):
reset命令按特定順序覆蓋這三棵樹,當你告訴它時停止。
1)移動任何分支HEAD指向(停止,如果--soft)
2)然后,使索引看起來像那樣(除非--hard,否則停在這里)
3)然后,使工作目錄看起來像那樣
只想分享給遇到此問題的任何其他用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.