簡體   English   中英

將所有更改還原為先前提交的狀態

[英]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.

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