git 放弃本地修改 暂存区修改 已 commit 的修改 已push到远程仓库的修改
1>> git 放弃本地修改(即没 add 也没 commit)
git checkout —fliename 放弃所有的修改 git checkout .
(不要写成 git checkout branchName 这就成了切换分支了)
2>> git 放弃暂存区的修改
git reset HEAD filename () 文件只是会撤销 add 操作 本地修改不会消失
需要继续使用第一步的操作 git checkout —filename
3>> git 放弃已经 commit 的修改
git reset —hard HEAD^ 回到上一次 commit 的状态 也可以 git reset —hard commitID
4>> git 放弃已经 push 的修改
有两种方法 一种是 reset 一种是 revert
git revert HEAD
git revert commitID 与git reset 的区别是
git revert 是提交一个新的版本,将需要 revert 的版本的内容反向修改回去,版本会递增, 不影响之前提交的内容, 是用一次新的 commit 来回滚之前的 commit, git reset 只是把 HEAD 指针向后移动一下,直接删除指定的 commit, 所以尽量使用 revert
下面是一个列表关于使用场景和作用域
- 命令作用域常用情景
git reset 提交层面 在私有分支上舍弃一些没有提交的更改
git reset 文件层面 将文件从缓存区中移除
git checkout 提交层面 切换分支或查看旧版本
git checkout 文件层面 舍弃工作目录中的更改
git revert 提交层面 在公共分支上回滚更改
git revert 文件层面 (然而并没有)
stay hungry
stay foolish
人要让自己活得像一支军队,对自己的大脑和心灵招兵买马,不气馁,有召唤,爱自由.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术