Git 相关问题分享,git reset与git revert的区别?
2024-10-13 16:12:28
1.如果我在git add 后想要撤销操作,该怎么做?
使用 git rm --cache 【文件名/ *】
或者 git reset HEAD, 为什么这个命令也会有效果呢,实际上reset将 HEAD指针指向的提交复制到了暂存区,所以看起来暂存区像是没有东西。
这里可以扩展一下:
Git 分为三颗“树”:
当我们在工作区修改了时,git add 命令会将文件复制到暂存区,git commit 之后会将index中的内容保存为一个永久的快照。然后创建一个指向该快照的提交对象,最后更新master分支指向它。
2.如果我想要将版本回退到某一次提交该怎么做?
使用 git reset 或者 git revert
Git reset 将HEAD指向了指定版本,如果不使用 --hard工作区还是会保留,一旦使用了--hard 将不能撤回了,reset命令实际分为了三步:
git revert 相当于用新的一次提交来回滚。
3.如果我在git commit 之后想要修改commit信息重新提交,该怎么做?
使用 git commit --amend
4.如果我在一个分支修改了部分代码但未提交,此时我想切换到另一个分支,并且修改的代码不会丢失,该怎么做?
使用 git stash 将修改的代码储存起来,此时可以随意切换分支了,想用这些代码的时候可以用 git stash apply ,
git stash list 查看储存的,git stash drop [名称 ] 移除储存的,也可以直接用git stash pop来应用储藏然后立即从栈上移除它。
最新文章
- .NET Core 和 .NET Framework 之间的关系
- Oracle在存储过程中如何返回结果集
- a 标签 启用或禁用点击事件
- Mysql的基础使用之MariaDB安装
- 清北学堂2017NOIP冬令营入学测试P4749 C’s problem(c)
- linux配置java环境变量
- CRM ribbon按钮上引用JS库
- Centos系统使用代理上网时 yum的代理设置
- 修改placeholder颜色
- 一次优化web项目的经历记录(二)
- solr集群solrCloud的搭建
- 学习http的一个网站
- linux学习之八-Linux本机性能监控
- 在原有3306端口mysqld服务的情况再搭建第二个3308端口的mysql实例
- 怎么使用linux命令重启服务器
- Switch-case 内定义变量的问题
- 深度学习与计算机视觉系列(2)_图像分类与KNN
- 解析中国天气网页面获取七日天气 (Java, Python)
- Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)
- delphi字符串分割
热门文章
- auctex 11.86的墓志铭
- 2019-2020-1 20199324《Linux内核原理与分析》第一周作业
- java调用IPFS去中心化体系
- 吴裕雄--天生自然C语言开发:排序算法
- 一个简单的jQuery回调函数例子
- HDU 6126 Give out candies(网络流)
- Mybatis的generator自动生成代码
- ACG记录整理
- SCI|EI|ISTP|万方|istic|NSTL|CASTD|CNKI|nlc|ethesys|CALIS|CETD|proquest|NDLTD|中国科学院学位论文检索系统|学位论文
- Centos7下常见目录