一起学习进步 有时候不小心在git中rm了文件。...) # # deleted: abbr_data # [xxx@xxx static_files]$ ls breakfast_data room_type_data 此时工作区的文件就只剩两个了...,abbr_data这个文件,已经被我们干掉。...直接checkout,是不行的。 那怎么办呢?其实在git status中,已经告诉我们怎么办了。...因为git的哲学跟unix的哲学一样,没消息就是最好的消息。。。 再ls一下,果然,abbr_data找回来了。
可以使用以下方式删除仓库中的 .idea 文件。 1....删除项目重新 push(不推荐) 仓库里面的应用删除掉 本地应用中的 .git 文件删除掉 先添加 .gitignore 文件,然后 push 代码到仓库 这种方式比较适合在最开始的时候,如果有了很多...2. git 删除本地暂存区文件 修改 .gitignore 文件内容,添加 .idea 删除本地暂存区中的 .idea 文件 git rm --cached -r .idea 推到远端 git commit...-m 'delete .idea' git push 很多时候,只修改了 .gitignore,但是没有删除本地缓存中的 .idea 文件,总是觉得这个文件目录怎么每次都带上去,其实就是这个原因。...同样,除了 .idea 文件,其他文件都可以使用这种方式删除。 补充 关于 .gitignore 可以使用 IDEA 的插件 .ignore,可以在创建 .ignore 文件时勾选相关配置。
那么如何把这个压缩包彻底从 git 删除? 如果需要删除 git 的历史记录,使用方法很简单,请看 Git如何永久删除文件(包括历史记录) - shines77 - 博客园 。...当然这个方法需要很长时间,因为提交大文件的时间不长,所以可以使用walterlv的方法 彻底删除 Git 仓库中的文件避免占用大量磁盘空间 - walterlv 于是远程仓库删好了,但是本地仓库还是有小伙伴拉下来...,于是如何让本地的小伙伴可以使用最新的仓库?...删除原来分支,这样就好 最后的命令是使用 gc 清掉这个提交 这时候查看自己的git 文件夹,如果文件夹还是那么大,那么说明还有一个分支是引用提交大文件,需要自己去看一下是哪个分支。...需要说明,git 如果提交一个文件,然后删除他,继续提交,那么这个文件是存在 git 中,需要使用特殊的命令才可以删除。
部分场景中,我们会希望删除远程仓库(比如GitHub)的目录或文件。...具体操作 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件 $ git rm 我的文件 在本地仓库删除文件夹 $ git rm -r...我的文件夹/ 此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。...提交代码 $ git commit -m"我的修改" 推送到远程仓库(比如GitHub) $ git push origin xxxxxx 补充: git rm 查看git rm的说明文档: $ git...-n, --dry-run 演习 -q, --quiet 不列出删除的文件 --cached 只从索引区删除 -f, --force 忽略文件更新状态检查 -r 允许递归删除 --ignore-unmatch
刚接触 git 的时候,当碰到之前删除某个文件(比如图片)后面开发又需要恢复的时候,会采取非常笨的方法。从某一个文件存在的 commit 切换出一个新的分支,再将需要的某个文件拷贝出来。...git 其实本身就可以恢复被删除的文件。几个命令就可以了。 大多数我们是不知道在何时删除了某个文件,通过下面这个命令我们可以查看在哪个 commit 中删除了哪些文件。...git log --diff-filter=D --summary 执行这个命令后效果如下: ?...比如我想恢复 ic_selected.png 这个文件,我们可以看到删除该文件对应的 commit id :f541888b0e7255cc6aa22a277f3dd9fe5502e5e2。...接下来我们执行下面这个命令 git checkout $commit~1 filename 这个命令会检出该 commit 的上一个提交中的文件,因为我们是在该 commit 中删除的文件,所以需要在上一个
今天上传代码的时候忘记写 gitignore 了,一不小心把 node_modules 也传上去了,这破玩意体积巨大,所以要从上面删除。...执行命令: git rm -r --cached admin/node_modules git commit -m "删除node_modules" ? 下次 push 代码的时候就会发现已经删掉了。
于是想到的解决方案如下。 通过git reset --soft命令,将当前提交的内容恢复到这个两个大文件提交之前,然后再次commit,再次push到远程仓库,结局可以想而知,这样就想删除文件?...git reset --soft命令一样是无法将提交记录从仓库中抹掉的,虽然通过reset之后,大文件的提交记录在git log中已经查找不到,但实际上,这个记录并不会真正的从仓库中删除,只要能找到commit...git filter-branch 1)前面两种修改的方式都是我们平时所熟悉的,使用频率比较高的删除某些文件或者提交记录的方式,但这些方式实际上都是生成了新的提交记录,并不会修改或者删除我们的提交历史...Git这么强大,肯定是存在可以永久删除历史记录的命令,找了一圈,发现确实有“后悔药”命令,那就是git filter-branch,通过以下命令,就可以永久删除你想要删除的任何文件: git filter-branch...删除命令 如果所有分支都是unchanged说明要么是该分支没有要删除的文件,要么是删除文件的路径不对。 执行以后命令以后,你会发现本地目录中的.git文件并不会马上就变小,而是与原来是一样的!
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交: $ git add test.txt $ git commit -m "add test.txt"...,或者用rm命令删了: $ rm test.txt 这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了: $ git status On...小提示:先手动删除文件,然后使用git rm 和git add效果是一样的。...注意:从来没有被添加到版本库就被删除的文件,是无法恢复的! 小结 命令git rm用于删除一个文件。...总之,就是让这个文件回到最近一次git commit或git add时的状态。
git 如何删除已经 add 的文件 ( 如何撤销已放入缓存区文件的修改) 使用 git rm 命令即可,有两种选择: 一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除...; 一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。...git --如何撤销已放入缓存区(Index区)的修改 修改或新增的文件通过 git add --all命令全部加入缓存区(index区)之后,使用 git status 查看状态 (git status...-s 简单模式查看状态,第一列本地库和缓存区的差异,第二列缓存区和工作目录的差异), 提示使用 git reset HEAD 来取消缓存区的修改。...不添加参数,撤销所有缓存区的修改。 另外可以使用 git rm --cached 文件名 ,可以从缓存区移除文件,使该文件变为未跟踪的状态, 同时下次提交时从本地库中删除。
但是如果不小心将某个文件加入到Git的缓存区后,不管后面怎么删除这个大文件,Git始终都保存有这个文件的历史记录,因此项目会很大。...即使使用git rm命令删除当前的cnn.model文件,.git目录中还是记录有这个大文件的记录,因此后面别人clone这个项目后,项目还是很大。...因此这里需要使用git filter-branch命令来删除.git目录中的文件记录: $ git filter-branch --index-filter 'git rm -r --cached -...-ignore-unmatch ' -- --all 这是在你已知大文件的名字和目录情况下的删除过程。...data/model-400M.caffemodel' -- --all 删除引用并重新打包 这里需要删除.git/refs目录下的一些引用文件并重新打包,具体命令如下,比较固定: $ rm -Rf
删除已经提交的.idea文件夹 git pull origin master # 将远程仓库里面的项目拉下来 //--cached不会把本地的test删除 git...rm -r --cached .idea # 删除.idea文件夹 git commit -m '删除.idea' # 提交,添加操作说明 git push -u...origin master # 将本次更改更新到github项目上去 git忽略某个目录或文件不上传 在.gitignore文件加调用文件夹/文件 node_modules...# 忽略文件夹 *.map # 忽略所有以.map结尾文件 .DS_Store /node_modules /dist /unpackage /.hbuilderx /tests/e2e/videos
本文主要介绍如何使用 git filter-branch 命令删除 Git 仓库中的敏感文件及其历史记录。...2.3 运行git filter-branch 进入仓库目录,使用 git filter-branch 命令删除敏感文件及其历史记录。...将 config/your-sensitive-file.json 替换为要删除的文件的路径。...git push --force 完成以上步骤后,敏感文件及其历史记录将从Git仓库中删除。 请注意,这种方法可能导致其他协作者的仓库出现问题。建议通知其他协作者在合并更改之前重新克隆仓库。...结论 本文介绍了如何使用 git filter-branch 命令手动删除Git仓库中的敏感文件及其历史记录。虽然这种方法需要一些手动操作,但它不需要安装任何第三方工具。
参考文章: 解决.gitignore文件忽略规则无效git依然跟踪修改的问题
有时候gitignore没做好,一不小心就又进来一个二进制文件 在重复了N次Google之后,还是记一下吧 首先通过rev-list来找到仓库记录中的大文件: 1 git rev-list --objects...--all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}...')" 然后通过filter-branch来重写这些大文件涉及到的所有提交(重写历史记录): 1 git filter-branch -f --prune-empty --index-filter '...git rm -rf --cached --ignore-unmatch your-file-name' --tag-name-filter cat -- --all 再删除缓存的对象,顺便瘦身一下:...1 2 3 git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin git reflog
删除文件 src/file-to-delete.txt 替换为要删除的文件路径 git filter-branch --force --index-filter 'git rm --cached --...ignore-unmatch src/file-to-delete.txt' --prune-empty --tag-name-filter cat -- --all 控制台输出,已经完成删除 WARNING...: git-filter-branch has a glut of gotchas generating mangled history rewrites....Hit Ctrl-C before proceeding to abort, then use an alternative filtering tool such as ‘git filter-repo...’ (https://github.com/newren/git-filter-repo/) instead.
由于Git的正常操作流程,导致敏感信息一旦进入主分支,再怎么在新的Pull Request中删除,也无能为力了。其它人都能在历史记录中查询到历史记录中的配置。...如何删除敏感信息 2.1 前置条件 必须先切换到主分支(一般为master),然后获取最新代码再进行操作: git checkout master git pull 如果有任何修改的对象,都会阻止提交,...(不删文件) 删除敏感文件 删除敏感文件夹 删除大二进制文件。...3.5 删除二进制大文件 命令: git gc bfg --strip-blobs-bigger-than 150K --no-blob-protection 将150K换成你的二进制文件大小即可。...注意:删除大二进制文件前,运行git gc命令是必须的,否则会报这个错: Warning : no large blobs matching criteria found in packfiles -
https://blog.csdn.net/bagpiping/article/details/83827449 初始化场景: 小明的工作区有文件 hello.txt git add hello.txt...git commit -m "我把文件存到Git仓库了啊" 1、场景一:小明“不小心”把工作区的hello.txt手动删除了。...事实上Git已经提醒了,rm或者checkout 1.1 小明没有不小心,他确实要把文件删除 先删除 git rm hello.txt 再提交 git commit -m "i wanna remove...test.txt" 1.2 小明确实不小心,他想买“后悔药”,Git帮可以他 一句代码还原精灵 git checkout --hello.txt 这么做有可能造成损失,因为还原的是Git仓库的,万一小明把最最新版的文件删除了那...2、场景二:小红想把Git仓库和暂存区的文件删除,但是保留工作区的文件,怎么办? Git帮她 git rm --cached hello.txt 文件还在磁盘上,就是不知道是不是小红需要的:0
但有的时候,会出现怎么也查不到大文件的情况,通过 du 查找的时候,统计出来的大小,跟 df 显示的占用空间对应不上。...这种情况,由于进程没有退出,因此文件占用的空间并不会释放;直到进程退出,磁盘空间才会真正释放。 ** 问题1:如何找到是哪个进程打开了该文件呢?...** linux上,由于进程仍然存活,因此可以通过查看所有进程打开的fd,如果该文件已经被删除,则查看时,会显示(deleted)。...zerotier-one zerotier-one 64 Aug 21 00:19 /proc/29400/fd/11 -> /tmp/ibG68kpG\ (deleted) ** 问题2:如何避免这种情况...** 不要直接删除该文件,而是通过将文件 truncate 的方式,释放磁盘空间。 一种方式是: cat /dev/null > ${filename} 或者(新get!)
事情是这样,服务器很多人在使用,以前的离职同事留了一大堆不知道是什么东西。那些文件看不了,又删不掉,非常碍眼。我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的)。...根据乱码的文件名,得到文件的 inode 编号ls -li# ----> 5252589 和 5243030 就是 inode 编号# 5252589 -rw-rw-r--. 1 www www...结合 find 命令直接删除find . -inum 5252589 -deletefind ....-inum 5243030 -delete删除这种操作还是一个一个来,肉眼删了十几个文件,世界清静了:)---文章来源于本人博客,发布于 2019-06-16,原文链接:https://imlht.com
今天,小编继续教大家怎么恢复被删除的电脑数据。我们都知道,当文件数据出现异常时,文件都会打不开,或者无法正常使用,这虽然没有被直接删除了文件,但是文件出现了无法使用的情况,也和数据丢失差不了什么了。...如果你遇到这类问题,先不要着急去处理电脑里面的文件数据,可以先进行电脑数据恢复,之后再尝试能不能正常使用。毕竟现在很多数据丢失了也是可以被恢复的。...下面,我就在这里和大家介绍一下数据恢复的方法操作,帮助您解决电脑数据恢复的难题。在这里以数据恢复软件-超级兔子数据恢复举例操作,下面是操作过程,有需要了解的朋友可以一起来看看。...1.在超级兔子官网下载数据恢复软件到电脑,打开软件后在场景模式里面选择误删除文件的恢复模式。2.选择被删除文件前的存放分区,这里选择桌面为例,完成后点击开始扫描。...3.超级兔子数据恢复开始扫描文件,请耐心等待。4.扫描完成后,把需要恢复的文件勾选上,然后点击右下角的立即恢复。
领取专属 10元无门槛券
手把手带您无忧上云