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. 随机函数rand()的使用方法——C语言

    原理: 引用自百度百科: 所需包含的头文件: #include <stdlib.h> rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机 ...

  2. 监控 Linux 服务器活动的几个命令(watch top ac)

    watch.top 和 ac 命令为我们监视 Linux 服务器上的活动提供了一些十分高效的途径. 为了在获取系统活动时更加轻松,Linux 系统提供了一系列相关的命令.在这篇文章中,我们就一起来看看 ...

  3. day45-多线程(server和多个client通信)

    #server: import socket from threading import Thread def func(conn): conn.send(b'hello client') ret = ...

  4. 吴裕雄--天生自然python学习笔记:python处理word文档

    Office 文件是我们日常工作生活中都经常用到的文件格 式,其中以 Word 格式的文件最为常用 . Python 可通过 Win32com 纽件对 Micro so位 Office 文件 进行存取 ...

  5. IE11阅读视图:带给你静心饕餮阅读大餐的片刻

    编者按:又到读书日,今天你挤出时间读书了吗?如今,越来越多人在习惯电子阅读,然而总难逃眼花缭乱的干扰信息.Internet Explorer 11新增阅读视图功能,一键开启,给你带给你静心饕餮阅读大餐 ...

  6. 如果你有一个域名,你也可以免费有一个diy@yourdomain.com的企业邮局

    如果你有一个域名,例如:www.bengou.net那么你可以拥有一个免费邮箱:lajiyoujian@bengou.net.那么什么是企业邮局呢?有啥优点 企业邮局是指以您的域名作为后缀的电子邮件地 ...

  7. 每个月执行一次任务,保存90天的mongo日志数据

    用mongo 的dump 和 restore实现 shell版 #!/bin/bash mongodump --host -d lewifi -c auditOrigData -q {}} -o ~/ ...

  8. makefile中的变量赋值

    在makefile中赋值方式有:'='.':='.'?='和'+='. A = a $(B) B = b all: echo $(A) #运行结果:echo a b a b 这种赋值方式是没有先后顺序 ...

  9. maven中 pom.xml与properties等配置文件之间互相读取变量

    问题由来: 最近公司的maven项目需要改进,希望把该项目依赖的一系列artifact放到properties文件中,这样做的目的是是为了很容易看到四月份release和七月份的release,它们所 ...

  10. NopCommerce上二次开发 触发器记录

    最近要在NopCommerce上二次开发. 开发也就算了,该项目的架构设计很好,但性能不可谓不低. 扯远了,为了保持项目以后升级顺利,开次开发不允许在原项目基础上大改,只能以插件形式开发…… 因一个功 ...