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. Ubuntu 图形界面和终端切换

    场景 在使用Ubuntu时,不小心按下了 ctrl+alt+f3,突然进入终端,好慌 解决 Ubuntu保留了纯命令行模式,按下 ctrl+alt+f2-6 可以进入纯命令行界面 之后按下 ctrl+ ...

  2. linux学习(六)文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Linux中我们可 ...

  3. 计算机体系结构:量化研究方法(中文第五版)_扫描版_23.5M.pdf

  4. Ubuntu16.04 UltraEdit 安装&破解&使用

    (1)下载:登录到官网(http://www.ultraedit.com/downloads/uex.html)选在对应的版本进行下载. (2)安装: (使用命令行方式安装)在本地路径进行安装:sud ...

  5. windows下 go vscode编译运行方法

    1:直接在终端运行go run命令编译 2.安装code runner插件,根据箭头标示顺序,可以在右侧看到它支持的语言.

  6. guppy

    1.下载 wget https://mirror.oxfordnanoportal.com/software/analysis/ont-guppy-cpu_3.4.1_linux64.tar.gz

  7. 使用python做一个爬虫GUI程序

    整体思路和之前的一篇博客爬虫豆瓣美女一致,这次加入了图片分类,同时利用tkinter模块做成GUI程序 效果如下: 整体代码如下: # -*- coding:utf-8 -*- import requ ...

  8. Paper | Model-blind video denoising via frame-to-frame training

    目录 故事 本文方法 流程 训练 实验 发表在2019年CVPR. 核心内容:基于Noise2Noise思想,这篇文章致力于无监督的视频盲去噪:是的,连噪声样本都不需要了. 这篇文章写作和概括太棒了! ...

  9. 金山云笔试题:AKM函数

    1. 题目描述 /** 阿克曼(Ackmann)函数 [题目描述] 阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),函数值定义为: akm(m, ...

  10. Win10 企业版ltsc 无法访问samba网络共享问题及解决!(转)

    1.本地安全策略,本地策略-安全选项,需要修改成默认的值的修改方式:查找注册表浏览到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA直接 ...