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来应用储藏然后立即从栈上移除它。

最新文章

  1. .NET Core 和 .NET Framework 之间的关系
  2. Oracle在存储过程中如何返回结果集
  3. a 标签 启用或禁用点击事件
  4. Mysql的基础使用之MariaDB安装
  5. 清北学堂2017NOIP冬令营入学测试P4749 C’s problem(c)
  6. linux配置java环境变量
  7. CRM ribbon按钮上引用JS库
  8. Centos系统使用代理上网时 yum的代理设置
  9. 修改placeholder颜色
  10. 一次优化web项目的经历记录(二)
  11. solr集群solrCloud的搭建
  12. 学习http的一个网站
  13. linux学习之八-Linux本机性能监控
  14. 在原有3306端口mysqld服务的情况再搭建第二个3308端口的mysql实例
  15. 怎么使用linux命令重启服务器
  16. Switch-case 内定义变量的问题
  17. 深度学习与计算机视觉系列(2)_图像分类与KNN
  18. 解析中国天气网页面获取七日天气 (Java, Python)
  19. Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)
  20. delphi字符串分割

热门文章

  1. auctex 11.86的墓志铭
  2. 2019-2020-1 20199324《Linux内核原理与分析》第一周作业
  3. java调用IPFS去中心化体系
  4. 吴裕雄--天生自然C语言开发:排序算法
  5. 一个简单的jQuery回调函数例子
  6. HDU 6126 Give out candies(网络流)
  7. Mybatis的generator自动生成代码
  8. ACG记录整理
  9. SCI|EI|ISTP|万方|istic|NSTL|CASTD|CNKI|nlc|ethesys|CALIS|CETD|proquest|NDLTD|中国科学院学位论文检索系统|学位论文
  10. Centos7下常见目录