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一样)

原文地址:https://www.cnblogs.com/zhongyehai/p/10705869.html

时间: 2024-10-09 23:18:05

Git使用七:修改最后一次提交、删除文件和重命名文件的相关文章

Git 修改最后一次提交,删除文件,重命名文件

1.修改最后一次提交 当忘记提交某个文件可以使用 git commit amend -m "新的提交说明" 暂存区的内容会提交到git仓库而不产生新的快照 2.删除文件 手动删除工作区的文件后可以使用 git checkout -- 文件名 来将暂存区中的文件恢复到工作目录 git rm 文件名 删除工作目录的文件 git rm -f 文件名 删除三棵树中的文件 git rm --cached 文件名 只删除暂存区文件 3.重命名 git mv 旧文件名 新文件名 原文地址:https

git --删除文件、重命名

修改最后一次提交 git commit --amend -m "" 删除文件:. git rm <需要删除的文件> 只是删除当前工作目录和暂存区的文件,也就是取消跟踪.在下次提交时不纳入版本管理. git rm --cached  文件名   只删除暂存区的文件 git rm -f  文件名     //暴力删除,全部删除 重命名文件: git mv    文件名     新的文件名

git重命名文件和文件夹

git mv -f oldfolder newfoldergit add -u newfolder (-u选项会更新已经追踪的文件和文件夹)git commit -m "changed the foldername whaddup" git mv foldername tempname && git mv tempname folderName (在大小写不敏感的系统中,如windows,重命名文件的大小写,使用临时文件名) git mv -n foldername f

当git上只做文件大小写重命名的修改时,如何躲坑

一. 提交时 假设修改ABC.java为Abc.java. 1.1 如果使用git命令进行仅涉及大小写的重命名 1.1.1 设置git库为大小写敏感(不建议) $ git config core.ignorecase false 用这种方法进行重命名,用git status就可以识别出修改了,但是不推荐用这种方式,因为在更新这种修改的时候会有麻烦. 1.1.2 使用git mv命令(仅当core.ignorecase为true时可用) $ git mv ABC.java Abc.java $ g

git修改代码查看文件差异-移除代码-重命名文件

本文git版本1.9.6 git代码提交层次图 一.修改本地代码查看差异 二.移除代码 三.重命名代码 1.1.当我们修改本地code的时候,使用命令可以看到文件的状态的处于修改状态:然后我们可以将code add 然后进行commit: 我们可以看到code修改什么地方,修改了什么内容: $ git status -s $ echo 'puts "hello world!"' >> hello.rb $ git diff hello.rb 1.2.将此添加到staging

git 本地重命名文件夹大小写并提交到远程分支

git branch 查看本地分支 git branch -a 查看本地 本地分支可直接切换:git checkout name 进入正题: 1.文件夹备份 2.git config core.ignorecase false 设置大小写敏感 3.cd... 进入到文件夹目录下,我的文件夹名是Container,执行命令删除:git rm Container 4.将备份文件夹重命名大小写放回原来路径下 5.执行命令添加:git add container 6.查看状态:git status 7.

修改Android工程的名称(非Eclipse重命名)

问题背景 在Eclipse,Import新的Android源码工程时,如果Eclipse的workspace已经存在相同名称工程,是无法导入的. 网上有很多修改工程名的方法,是在导入后,使用Refactor的rename方式.但这个方法前提是只能更改已导入的project. 分析了一下工程目录,发现修改工程名的关键点,需要注意的是,这里是指修改工程名,不是修改app_name(apk安装后的程序名) 1.在工程目录下,找到.project文件.是隐含文件 2. 打开这个文件,使用记事本或者ult

数据库常用操作记录:新加列、重命名列、修改列长度和类型、删除列、重命名表名等

1.在数据库已有的表中 增加一个新列 语句:alter table 表名 add 列名 类型 例:ALTER myuser ADD userdesc VARCHAR(50); 2.为数据库中已有的表中的列 重命名 语句:alter table 表名 rename column 原列名 to 新列名; 例:alter table myuser rename column attrname to pk_Group; 3.为数据库中已有的表中的列 修改长度和类型 语句:alter table 表名 m

Git系列:第七篇-Maven项目下提交时忽略不必要的文件或文件夹

用.gitignore文件来进行忽略不必要的文件或文件夹 在开发中我们要提交的内容大都是src里的全部文件(java文件).gitignore(忽略文件)pom.xml(maven配置文件)----------------------------------------------------------------------------------------- 1.首先在仓库中创建隐藏文件“.gitignore”,选中本地仓库,右击“Git Bash Here”,然后执行如下命令: tou