Git使用七:修改最后一次提交、删除文件和重命名文件
修改最后一次提交:
在实际开发中,可能会遇到以下两种情景:
情景一:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add)。
情景二:版本刚一提交(commit)到仓库,突然想起版本说明写得不够全面,无法彰显你本次修改的重大意义……
执行带 --amend 选项的 commit 提交命令,Git 就会“更正”最近的一次提交。
之前修改的文件只是提交到了暂存区,并没有提交到仓库

执行:git commit --amend就会进入到此次提交版本的编辑说明中

也可以直接git commit --amend -m "this is commit3"

看log,不会产生新的快照

删除文件:git rm 文件名
该命令删除的只是工作目录和暂存区域的文件,也就是取消跟踪,在下次提交时不纳入版本管理。
当工作目录和暂存区域的同一个文件存在不同内容时,执行 git rm -f 文件名 命令就可以把两个都删除。
git rm --cached <file>:只删除暂存区域的文件(保留工作目录的)
从工作目录删除text2


git checkout -- <file>:从暂存区检出文件到工作区(恢复)

git rm <file>:删除文件

这个时候去查看状态,还是会看到关于text2的信息

这个时候,回到过去就行了:git reset --soft HEAD~
也可以使用git rm -f <file>:强制删除
重命名文件:git mv 旧文件名 新文件名
ren/mv 旧文件名 新文件名
git rm 旧文件名
git add 新文件名
把工作区的text1改成text3,再查看状态

再改回来

使用mv命令修改文件名(和linux一样)

Git使用七:修改最后一次提交、删除文件和重命名文件的更多相关文章
- 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交
git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...
- Git——快速重命名文件和查看commit提交版本【四】
快速重命名文件 $ git mv README.md readme.md 使用git mv命令后直接commit即可,不再需要进行add或rm操作 查看版本历史 所有的参数都可以进行组合使用的,比如我 ...
- git --删除文件、重命名
修改最后一次提交 git commit --amend -m “” 删除文件:. git rm <需要删除的文件> 只是删除当前工作目录和暂存区的文件,也就是取消跟踪.在下次提交时不纳入版 ...
- Git使用详细教程(6):git mv重命名文件
与使用git rm类似,Git还提供了重命名文件的命令git mv,我们可以通过该命令重命名文件. 如下图,git mv包含了以下动作
- git重命名文件和文件夹
git mv -f oldfolder newfoldergit add -u newfolder (-u选项会更新已经追踪的文件和文件夹)git commit -m "changed th ...
- 【问题解决方案】git中的文件的重命名
环境: win7 git bash+GitHub 问题: 如果直接在文件夹中手动重命名,Git会判定为删除了旧文件,添加了新文件 版本回退后使用mv命令进行重命名 $ git reset --hard ...
- 当git上只做文件大小写重命名的修改时,如何躲坑
一. 提交时 假设修改ABC.java为Abc.java. 1.1 如果使用git命令进行仅涉及大小写的重命名 1.1.1 设置git库为大小写敏感(不建议) $ git config core.ig ...
- git 本地重命名文件夹大小写并提交到远程分支
git branch 查看本地分支 git branch -a 查看本地 本地分支可直接切换:git checkout name 进入正题: 1.文件夹备份 2.git config core.ign ...
- git Windows下重命名文件,大小写敏感问题
作为一个重度强迫症患者,是不忍受文件名,有字母大小拼写错误的,但是在git下,已是受控版本文件要改过来,要费些周章了. 一.环境 Widnows + git version 2.24.0 + Tort ...
随机推荐
- vue.js实战——splice使用
Vue在检测到数组变化时,并不是直接重新渲染整个列表,而是最大化地复用DOM元素.替换的数组中含有相同元素的项不会被重新渲染,因此可以大胆地用新数组来替换就数组,不用担心性能问题. 需要注意的是,以下 ...
- Kivy 中文教程 实例入门 简易画板 (Simple Paint App):1. 自定义窗口部件 (widget)
1. 框架代码 用 PyCharm 新建一个名为 SimplePaintApp 的项目,然后新建一个名为 simple_paint_app.py 的 Python 源文件, 在代码编辑器中,输入以下框 ...
- 使用Node.js搭建数据爬虫crawler
0. 通用爬虫框架包括: (1) 将爬取url加入队列,并获取指定url的前端资源(crawler爬虫框架主要使用Crawler类进行抓取网页) (2)解析前端资源,获取指定所需字段的值,即获取有价值 ...
- Vim简明学习
前面的话 在linux云服务器上的编辑器默认是vim,类似于windows系统中的记事本,页面简洁,但入门不易.本文将介绍Vim的基础使用 操作模式 vim编辑器有三种模式: 1.命令模式(等待用户输 ...
- NOI2018游记
Day-1 下午报道,没什么好说的 Day0 先考笔试,开幕式咕到了下午 笔试没什么好说的,反正都是 \(100\) 好像有很多人被gedit坑了? 下午开幕式,很多省的口号都有意思,比如: &quo ...
- poj 3764 The xor-longest Path (01 Trie)
链接:http://poj.org/problem?id=3764 题面: The xor-longest Path Time Limit: 2000MS Memory Limit: 65536K ...
- 【WC2018】即时战略
题目描述 小M在玩一个即时战略(Real Time Strategy)游戏.不同于大多数同类游戏,这个游戏的地图是树形的. 也就是说,地图可以用一个由 n个结点,n?1条边构成的连通图来表示.这些结点 ...
- 解决mysql表不能查询修改删除等操作并出现卡死
问题现象1:进程wait卡住 测试环境mysql出现了一个怪表:select查询表卡死,alter修改表卡死,甚至我不想要这个表了,delete.truncate.drop表都卡死卡主了...... ...
- Windows下Redis的安装和部署
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- CentOS7配置iptables防火墙
CentOS 7中默认是firewalld防火墙,如果使用iptables需要先关闭firewalld防火墙(1.关闭防火墙,2.取消开机启动). #关闭firewalld systemctl sto ...