亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

撤銷提交

標簽:
Git

使用方法

该指令可以用于撤销提交、重置暂存区或工作区。

git reset

执行 git log,列出所有提交记录:

$ git checkout main
$ git log
commit ff3490694a2168a94abc0188fe35cdd102d3c7fc (HEAD -> main, origin/main)
Author: zhanglianwei <[email protected]>
Date:   Wed Feb 21 16:09:29 2024 +0800

    第二次修改iss53

commit b0a67cb1bbd16e8a812516dad50b129961f483f7
Author: zhanglianwei <[email protected]>
Date:   Wed Feb 21 16:02:42 2024 +0800

    修改iss52

commit 9f5bfba20b0448961111fe1cc621187b461284c4
Author: zhanglianwei <[email protected]>
Date:   Wed Feb 21 16:00:55 2024 +0800

    修改hotfix

commit ca5ebf0f7e0438c514b9039594e86b6bc1ef64e2
Author: zhanglianwei <[email protected]>
Date:   Tue Jan 30 16:24:42 2024 +0800
:

图片描述

根据不同的参数,git reset 可以实现不同的功能。

移动 HEAD( --soft )

$ git reset --soft HEAD^ # 也可以使用哈希值 git reset --soft b0a67cb

执行该指令之后,GIT 移动 HEAD 指向 main 分支最后一次提交(哈希值 ff34906)的父提交(哈希值 b0a67cb),相当于撤销最后的提交并将最后提交的修改内容保留在暂存区。
并且,该指令不会覆盖暂存区和工作区。

图片描述

Sourcetree 截图显示,本地 main 分支已经回退一个版本,而 Uncommitted changes 表明,暂存区或工作区存在未提交的更改。
最后,通过 git push -f 强制更新服务器的提交记录即可。

图片描述

覆盖暂存区和工作区(–hard)

$ git reset --hard HEAD^ # 也可以使用哈希值 git reset --hard b0a67cb
HEAD is now at b0a67cb 修改iss52

--hard 标记会移动 HEAD 指向 main 分支最后一次提交的父提交,并且强制覆盖暂存区和工作区的文件,无法恢复。
也就是说,该指令会撤销最后的提交,暂存区和工作区中的所有工作也会被销毁。

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
1.4萬
獲贊與收藏
860

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消