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

Git 相关问题分享,git reset与git revert的区别?的更多相关文章

  1. Git技巧总结分享

    接触Git有很长一段时间了,从最初的不懂到逐渐熟悉运用,相比于SVN,更热衷于Git这一款强大的版本控制工具. 废话不多说,下面对Git做了一些技巧总结,在此分享下,希望能帮助到一些喜欢Git的朋友们 ...

  2. Git复习(七)之自定义git、忽略特殊文件、配置文件

    前言 config 配置有system级别(系统级别). global(用户级别).local(当前仓库)三个 设置先从system->global->local  底层配置会覆盖顶层配置 ...

  3. git 相关

    github入门   一.先了解 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度快 github 本地有仓库,储存着所有repo ...

  4. git 相关学习

    1.Git 的一些快捷键 第一次创建本git 本地仓库 :: git  init  //在本地创建一个 Git仓库 :要在该目录下 第一次 要配置GitHub 的 账号和邮箱: git config ...

  5. Git相关内容

    先聊一点关于gitlab的内容和github的内容 Gitlab和GitHub,都是我们可以存放代码库的地方.不过Gitlab可以免费的存储私人代码,GitHub需要花钱才能够存储私人代码库,不过我想 ...

  6. Git相关安装包打包下载

    Git相关软件偶尔需要***才能下载,故分享于此 1.Git-2.15.0-64-bit.exe 2.TortoiseGit-2.5.0.0-64bit.msi 3.TortoiseGit-Langu ...

  7. Git相关命令教程

    一.在GitHub上创建新项目 (1)在GitHub首页 “New repository”,创建新版本库“test” (2)在本地使用GitBash,将repository clone到本地 git ...

  8. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

  9. git相关操作。

    之前只会用图形端的GIT中,命令行的比较陌生,整理下,供自己以后参考 关键的名词: 工作区:工作区 Index / Stage:暂存区 仓库:仓库区(或本地仓库) 远程控制:远程仓库 到项目目录下gi ...

随机推荐

  1. 论文翻译——Character-level Convolutional Networks for Text Classification

    论文地址 Abstract Open-text semantic parsers are designed to interpret any statement in natural language ...

  2. 关于JDBC、JdbcTemplate使用遇到的坑

    1.如果数据源是oracle(mysql结尾是可以使用";"的),sql字符串中结尾处禁止使用分号";",不然会报错:java.sql.SQLException ...

  3. [LC] 322. Coin Change

    You are given coins of different denominations and a total amount of money amount. Write a function ...

  4. Cf D. Nauuo and Circle

    https://codeforces.com/contest/1173/problem/D 题意: 给出你一个包含 n 个点的树,这 n 个点编号为 1~n: 给出一个圆,圆上放置 n 个位置,第 i ...

  5. ABC:Meaningful Mean

    题目描述 You are given an integer sequence of length N, a= {a1,a2,…,aN}, and an integer K. a has N(N+1)⁄ ...

  6. Ubuntu 12.04 查看DOCSIS配置文件

    查看BIN格式的DOCSIS配置文件,需要专用工具. 工具安装 在Windows下,可以使用工具VultureWare DOCSIS Config Editor. 在Ubuntu(本机版本12.04) ...

  7. iOS自定义弹出视图、收音机APP、图片涂鸦、加载刷新、文件缓存等源码

    iOS精选源码 一款优秀的 聆听夜空FM 源码 zhPopupController 简单快捷弹出自定义视图 WHStoryMaker搭建美图(贴纸,涂鸦,文字,滤镜) iOS cell高度自适应 有加 ...

  8. Filezilla Server搭建FTP服务器

    一.下载Filezilla  Server 官网网址:https://filezilla-project.org 下载链接 :https://filezilla-project.org/downloa ...

  9. javaee验证码如何使用

    首先需要导入jar包 ValidateCode.jar 110   25  为验证码框的大小  4为验证码数目 9为干扰线条数 Servlet代码如下 运行截图如下

  10. synchronized互斥锁实例解析

    目录 synchronized互斥锁实例解析 1.互斥锁基础使用:防止多个线程同时访问对象的synchronized方法. 1.1.多个线程调用同一个方法 1.2.多个线程多个锁,升级为类锁 2.线程 ...