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. (导航页)Amazon Lightsail 部署LAMP应用程序(HA)

    Amazon Lightsail 简介: Amazon Lightsail是一个具有易于使用的界面,具有成本效益,快速和可靠的云平台.它是更简单的工作负载,快速部署以及Amazon Web Servi ...

  2. C# 深入分析 GC 处理机制

    引用地址:https://www.cnblogs.com/nele/p/5673215.html GC的前世与今生 虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年 ...

  3. Pwn-level3(x64)

    题目地址 https://dn.jarvisoj.com/challengefiles/level3_x64.rar.8c74c402b190ac3fbef5a9ae540c40de 跟level3差 ...

  4. web-never give up

    打开题目连接 ?id=1 ,疑是注入点 但是输入其他数字无果 打开源码,发现注释有网页链接 打开连接123.206.87.240:8006/test/1p.html 发现回到了bugku的论坛首页,应 ...

  5. Drop_out--防止过拟合

    With probability keep_prob, outputs the input element scaled up by 1 / keep_prob, otherwise outputs  ...

  6. java使用poi(XSSFWorkbook)读取excel(.xlsx)文件

    经过一番搜索发现,java操纵excel文件常用的有jxl和poi两种方式,孰好孰坏看自己需求而定.其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx这里介绍的使用poi方式(XSSF ...

  7. CF-weekly4 D. Haar Features

    https://codeforces.com/gym/253910/problem/D D. Haar Features time limit per test 1 second memory lim ...

  8. [日常] SNOI2019场外VP记

    SNOI2019场外VP记 教练突然说要考一场别省省选来测试水平...正好还没看题那就当VP咯w... Day 1 八点开题打 .vimrc. 先看了看题目名...一股莫名鬼畜感袭来... 怎么T1就 ...

  9. Paper | Toward Convolutional Blind Denoising of Real Photographs

    目录 故事背景 建模现实噪声 CBDNet 非对称损失 数据库 实验 发表在2019 CVPR. 摘要 While deep convolutional neural networks (CNNs) ...

  10. 从应用到内核,分析top命令显示的进程名包含中括号"[]"的含义

    背景 在执行top/ps命令的时候,在COMMAND一列,我们会发现,有些进程名被[]括起来了,例如 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1542 928 ...