Git学习笔记2-版本控制
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学习笔记2-版本控制的更多相关文章
- GIT学习笔记(1):创建版本库
GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...
- GIT学习笔记(2):时光机穿梭与远程仓库
GIT学习笔记(2):时光机穿梭与远程仓库 撤销操作 1.GIT如何跟踪修改 在我们修改了代码内容后,执行了git add和git commit命令来将其交由Git进行版本控制.我们前面举的例子是这样 ...
- Git学习笔记(二) · 非典型性程序猿
远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- git 学习笔记6--remote & log
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...
- Git学习笔记---协作的一般流程
一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...
- 【转帖】Git学习笔记 记录一下
本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...
- [转]Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
随机推荐
- metasploit篇
第一部分:基本使用 1.在kali中metasploit默认使用postgresql作为它的数据库: /etc/init.d/postgresql start 开机自启:update-rc.d pos ...
- spark 基础
scala版 ,基本名词概念及 rdd的基本创建及使用 var conf = new SparkConf() var sc: SparkContext = new SparkContext(conf) ...
- windows宿主机和docker容器设置挂载共享文件夹
docker容器内的程序经常需要访问.调用宿主机目录中的数据,每次都要导入导出非常麻烦费力. 接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中. 1. 打开Oracle VM Vitua ...
- linux学习(二)linux系统的安装
Linux 安装 本章节我们将为大家介绍 Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用,参考各大云服务器比较. 本章节以 ce ...
- 《RocketMQ》
作为一款消息中间件,RocketMQ需要解决的技术问题其实在分布式系统领域中都有所体现.首先如果将分布式系统的领域按照分布式通信.分布式存储.分布式计算以及分布式管理这四大部分进行划分,其实就会发现在 ...
- 工具资源系列之给 windows 虚拟机装个 windows
前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 Windows 系统. 前情回顾 虚拟机是相对于真实的物理机而言的概念,是在 ...
- [LeetCode] 11. Container With Most Water 装最多水的容器
Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). ...
- Eureka注册中心的自我保护模式
如果在Eureka Server的首页看到以下这段提示,则说明Eureka已经进入了保护模式. EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTAN ...
- 迷你版mybatis
public class BootStrap { public static void start(){ MySqlSession sqlSession = new MySqlSession();// ...
- learning rate warmup实现
def noam_scheme(global_step, num_warmup_steps, num_train_steps, init_lr, warmup=True): ""& ...
