撤銷 git reset --hard HEAD~1


方法一:

1.先通過git reflog找到上一次的歷史提交記錄id,git如果沒有特意設置,是會保存記錄一段時間的(a few days or a month)

2.git reset --hard [id]

 

方法二:

git reset --hard HEAD@{1}

直接回到剛才的那個結點,{}中表示的是結點的序號

 

方法一的例子如下:

$ git init

Initialized empty Git repository in .git/

 

$ echo "testing reset" > file1

$ git add file1

$ git commit -m 'added file1'

Created initial commit 1a75c1d: added file1

 1 files changed, 1 insertions(+), 0 deletions(-)

 create mode 100644 file1

 

$ echo "added new file" > file2

$ git add file2

$ git commit -m 'added file2'

Created commit f6e5064: added file2

 1 files changed, 1 insertions(+), 0 deletions(-)

 create mode 100644 file2

 

$ git reset --hard HEAD^

HEAD is now at 1a75c1d... added file1

 

$ cat file2

cat: file2: No such file or directory

 

$ git reflog

1a75c1d... HEAD@{0}: reset --hard HEAD^: updating HEAD

f6e5064... HEAD@{1}: commit: added file2

 

$ git reset --hard f6e5064

HEAD is now at f6e5064... added file2

 

$ cat file2

added new file

 


免責聲明!

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



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