0%

Git rm删除文件

Git rm删除文件

从版本库中删除该文件,那就用命令git rm删掉,并且git commit

1
2
3
4
$ git rm file

$ git commit -m "remove file"

现在,文件就从版本库中被删除了。

如果删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

1
$ git checkout -- test.txt

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

还有一种情况是如何从版本库中删除,而不删除本地文件:

对于单个文件:

1
$ git rm --cached mylogfile.log

对于单个目录:

1
$ git rm --cached -r mydirectory

git rm和rm的区别

直接在工作区删除文件对暂存区和版本库没有影响,但是如果使用git rm命令删除文件,那么删除动作将加入暂存区,这时执行提交命令,就从真正意义上执行了文件删除。不过,不要担心,文件只是在版本库的最新提交中被删除了,在历史提交中尚在。

git push存在大文件报错

git push 时,存在大文件会报错,即使删除大文件后,还会报错。主要是因为大文件存在没有被提交的commit记录里面。

解决方案:删除有大文件的commit记录即可

1、git status 查看未被传送到远程代码库的提交状态

2、git cherry -v 查看未被传送到远程代码库的提交描述和说明

3、git reset commit_id 撤销未被传送到远程代码库的提交

移除大文件:

1
2
3
4
$ git rm --cached giant_file(文件名) 
# Stage our giant file for removal, but leave it on disk
$ git commit --amend
$ git push
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道