git基本操作--删除文件和移动文件

来源:互联网 发布:mysql with cube 编辑:程序博客网 时间:2024/05/16 17:55

一、删除文件
1、查看当前的状态
这里写图片描述
使用不同的删除方法,先保存进度:
这里写图片描述
恢复进度,进行删除操作。因为要使用不同的删除命令,所以恢复进度使用 git stash apply命令,这个进度可以多次被用到:
这里写图片描述

开始删除操作:
1、查看工作区的文件
这里写图片描述
2、在工作区删除文件,工作区的文件都删除了:
这里写图片描述
3、查看暂存区(版本库)中的文件依然存在,并未删除
这里写图片描述
4、此时的状态
这里写图片描述
说明:文件只是在本地工作区中进行了删除,尚未添加到暂存区(提交任务commit)中。对暂存区和版本库没有任何影响。
5、恢复删除的文件到工作区
这里写图片描述
6、删除暂存区中的文件
这里写图片描述
7、查看状态,删除动作加入到暂存区:
这里写图片描述
8、此时删除动作已经加入到暂存区,再执行提交commit动作,那就真正意义上删除了文件:
这里写图片描述
9、文件只是在版本库的最新提交中被删除,在历史提交中尚在,并可以查看删除文件的内容。
这里写图片描述

如果是要删除很多个文件,列出每一个文件名,那命令比较长和繁琐。可以使用git add -u 命令可以将(被版本库追踪的)本地文件的变更(删除、修改)全部记录到暂存区。

为了测试该命令,恢复工作区到最初的状态,丢弃之前的提交操作:
这里写图片描述
假设工作区有一个未被版本库追踪的文件(test0318.txt),也就是没有提交到版本库中,看看删除的影响:
1、工作区的文件:
这里写图片描述
2、删除本地文件
这里写图片描述
3、查看状态,并执行git add -u命令将(版本库追踪的)本地文件的变更(删除、修改)全部记录到暂存区中:
这里写图片描述
4、查看状态,发现未被版本库追踪的文件test0318.txt的删除没有被记录到暂存区。可以看到工作区删除的文件全部被标记为下次提交时删除:
这里写图片描述
5、删除文件,而不用列出文件名:
这里写图片描述
6、查看此时的状态
这里写图片描述

恢复删除的文件
执行文件删除并提交,只是在最新的提交中删除了文件,历史提交中文件仍然保留。
1、从历史(前一次提交)中恢复文件welcome.txt。HEAD~1相当于HEAD^,都是指HEAD的上一次提交。
这里写图片描述
2、也可以使用git show命令恢复文件
这里写图片描述
3、还可以使用git checkout命令恢复文件:
这里写图片描述
4、查看状态
这里写图片描述
5、将工作区中的所有改动及新增文件添加到暂存区中
这里写图片描述
6、提交暂存区中的文件
这里写图片描述

三、移动文件
通过修改文件名,实现对文件的移动。
使用两种方法实现文件的改名(移动)操作。
3.1、使用git mv命令完成改名操作:
这里写图片描述
提交改名操作,可以查看改名前后两个文件的相似度(百分比)
这里写图片描述

改名操作相当于对旧文件执行删除,对新文件执行添加操作。

3.2、不使用git mv命令,而是以git rm 和git add两条命令取代
先撤销之前的提交:
这里写图片描述
直接在本地改名(文件移动)
这里写图片描述
修改一下改名后文件的内容,然后加入暂存区,
git add -A命令:相当于对修改文件执行git add操作;对删除文件执行git rm;对本地新增文件执行git add。:
这里写图片描述
提交改名的文件
这里写图片描述
改名后,本地文件列表:
这里写图片描述

0 0