Git 丢弃本地修改

简介: 分为三种情况:还未将变更从工作区加入到暂存区,即未执行git add 命令前,如:此时可以使用git checkout命令来撤销修改,如:git checkout -- rainbow.

分为三种情况:

  1. 还未将变更从工作区加入到暂存区,即未执行git add 命令前,如:
    img_a5705bca1dbb63943e7cde344145eaf2.png

此时可以使用git checkout命令来撤销修改,如:

git checkout -- rainbow.txt start.txt
git checkout -- *
git checkout -- *.txt


  1. 已将变更加入到暂存区,即已经执行了git add命令,如:
    img_f5591fb3ce677f95f1d1dd34643d0f7b.png

    此时可以使用git reset命令来撤销修改,如:
git reset HEAD rainbow.txt start.txt
git reset HEAD  *
git reset HEAD *.txt

要注意的是,执行以上命令后,本地的修改并不会消失,而只是从暂存区回到了工作区,即第一种情况下所示的状态。继续用第一种情况下的操作,就可以放弃本地的修改。



  1. 已经将代码提交到本地仓库,即已经执行git commit命令,此时工作区已经clean,若想撤销之前的修改,需要执行版本回退操作:
#回退到上一个版本
git reset --hard HEAD^
#回退到上上次版本
git reset --hard HEAD^^
git reset --hard HEAD^^^

#回退到指定commitid的版本
git reset --hard  commit_id

可以使用 git loggit reflog 命令来查看git的提交历史,获取commit_id.

相关文章
|
开发工具 git
如何在vscode编辑器中实时查看代码git记录(被谁修改、自己什么时候修改)
如何在vscode编辑器中实时查看代码git记录(被谁修改、自己什么时候修改)
4506 0
如何在vscode编辑器中实时查看代码git记录(被谁修改、自己什么时候修改)
|
开发工具 git
Git查看/修改/添加远程仓库地址
Git查看/修改/添加远程仓库地址
485 0
|
开发工具 git
关于github默认分支名改为main后可能的处理【git推送到远程不同的分支、github修改默认分支名】
git如何删除本地分支、删除远程分支,由分支的删除可以实现推送到远程不同的分支。 git不允许推送到远程与本地分支名不同的分支上。
915 1
|
网络安全 开发工具 数据安全/隐私保护
git修改本地仓库和远程仓库名称
git修改本地仓库和远程仓库名称
978 2
|
Linux 开发工具 git
linux git修改用户名和邮箱
linux git修改用户名和邮箱
linux git修改用户名和邮箱
|
开发工具 git
idea工具修改Git路径
idea工具修改Git路径
666 0
idea工具修改Git路径
|
开发工具 git
【Git&GitHub - 9】:Git撤销修改
【Git&GitHub - 9】:Git撤销修改
144 0
【Git&GitHub - 9】:Git撤销修改
|
开发工具 git
Git管理修改、撤销和删除文件
本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。 Git通过提交放入暂存区的修改,用来管理修改,而不是管理原文件。 在实际中,(虽然不常发生)总是会
424 0
Git管理修改、撤销和删除文件
|
开发工具 数据安全/隐私保护 git
git查看/修改用户名,密码(填坑帖)
git查看/修改用户名,密码(填坑帖)
|
缓存 开发工具 git
git 各种状态下撤销修改的方法
git 各种状态下撤销修改的方法