1.移除文件

第一步:

$ git rm <flie>               #删除工作区以及仓库里面的文件
$ git rm <flie> -f      #如果文件删除之前修改过并且已经存放到暂存区域,使用强制删除选项-f
$ git rm -r <folder>   #删除工作区以及仓库里面的文件夹 $ git rm --cached <file> #将文件从仓库删除,工作区的保留
$ git rm log/*.log    #删除所有log/目录下扩展名为.log的文件

第二步:

$ git commit -m     #"删除xxx"

第三步:

$ git push GitHub仓库url 分支名    #把Github仓库上的文件也删除

2.撤销修改

a. 撤消工作区的修改

$ git checkout -- file

b.撤消暂存区的文件

$ git reset HEAD <file>  #将暂存区的文件撤销掉,回到未暂存的状态

c. 撤销仓库的修改

  如果要修改上次git commit的说明,可以使用--amend修改说明。

$ git commit --amend -m"新的说明"    #修改上次git commit的说明

  如果上次的git commit 忘记提交了某些文件,可以先git add将忘记的文件添加到暂存区,然乎再使用--amend修改上次的git commit

$ git commit -m 'first commit'     #第一次提交
$ git add tet2.txt         #将漏掉的文件先add到暂存区
$git commit -m 'first commit' --amend #重新提交文件到仓库

上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。

3.版本回退

HEAD:当前版本

HEAD^:上一个版本

HEAD^^:上上一个版本

$ git reset --soft [commit id]:log被回退到commit id,暂存区文件内容回退到commit id。使用此命令修改commit message重新提交一次文件。

$ git reset --hard [commit id]:log被回退到commit id,工作区文件内容回退到commit id。

$ git reset --hard HEAD^   #返回到上一个版本
$ git reset --hard 1094a   #返回到指定版本,1094a是指定版本的id
$git reset --soft HEAD^    #回退到上次git commit之前,git add 之后的状态
$ git status         #此时,上次git commit的文件放到了暂存区,等待git commit
$ git commit -m "再次提交"  #你可以git add新的内容,可以修改commit message,然后重新提交

4.删除指定commit记录

$ git log --oneline  #找到要删除的记录commit id
$ git rebase -i
在git-rebase-todo文件中将要删除的commit id前面的pick改为drop,wq保存退出。
 

Git学习笔记2-版本控制的更多相关文章

  1. GIT学习笔记(1):创建版本库

    GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...

  2. GIT学习笔记(2):时光机穿梭与远程仓库

    GIT学习笔记(2):时光机穿梭与远程仓库 撤销操作 1.GIT如何跟踪修改 在我们修改了代码内容后,执行了git add和git commit命令来将其交由Git进行版本控制.我们前面举的例子是这样 ...

  3. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  4. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  5. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  6. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  7. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  8. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  9. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

  10. [转]Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

随机推荐

  1. 初学JavaScript正则表达式(九)

    分组:可以用 ( ) 来进行分组 一.Byron重复三次             Byron{3} --------- Byronnn 只是将紧挨着量词的字符重复            (Byron) ...

  2. No implementation for org.apache.maven.model.path.PathTranslator was bound.

    2019-12-17 10:19:19,884 [ 688476] INFO - #org.jetbrains.idea.maven - org.apache.maven.model.resoluti ...

  3. 日志分析利器Splunk的搭建、使用、破解

    博主对splunk的了解不多,博主的使用目的是为了同步,分析日志.当初的搭建也是为了公司申请牌照需要日志服务器分析日志,顺便自己也对这方面感兴趣就买了本书看了看搭建玩的,后来检查来了博主也给他们演示了 ...

  4. 【Eureka篇三】EurekaServer服务注册中心(1)

    注:在前面[Rest微服务案例(二)]的基础上进行操作. 1. 新建Maven Module,子模块名称为microservicecloud-eureka-7001,packaging为jar模式 & ...

  5. 正睿暑期培训day3考试

    链接 A 可以发现一个小棍的贡献是使得左右两列上的球位置互换.所以只要找出哪两个球会经过当前位置,然后swap一下就行了.. 考场上调了2.5h,依然没过样例.赛后发现忘了排序!!!!... /* * ...

  6. Web前端开发框架大全-详述

    可以说,前端技术的发展是互联网自身发展的一个缩影! 前端技术的发展经历了web1.0时代,即网页只能展示信息,几乎没有交互可言: web2.0时代,web2.0不再是单维的,逐渐发展为双向交流,另一特 ...

  7. Paper | Xception: Deep Learning with Depthwise Separable Convolutions

    目录 故事 Inception结构和思想 更进一步,以及现有的深度可分离卷积 Xception结构 实验 这篇论文写得很好.只要你知道卷积操作或公式,哪怕没看过Inception,也能看懂. 核心贡献 ...

  8. 剑指offer:滑动窗口的最大值(栈和队列)

    1. 题目描述 /* 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值. 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别 ...

  9. spring boot 不占用端口方式启动

    随着微服务架构的流行,想要启动一个微服务架构项目就要开启好多端口,有时候一台机器上部署的项目多的时候,端口资源就比较紧张了,其实有的微服务组件仅仅只是提供RPC服务,可以不用占用web启动的端口,此时 ...

  10. 海边拾贝-G-若干有用的文章(乱序,经常更新)

    若干有用的文章,乱序版本.会经常性修改.     若干Python模块的介绍不错 https://www.cnblogs.com/sui776265233/category/1239819.html ...