一起学习进步 有时候不小心在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 commit。在git中删除一个文件使用git rm命令。 在下图中,首先创建一个新文件,然后添加到仓库去。 ?...现在,我们来删除这个文件,从代码仓库中。使用如下命令: git rm test 执行该命令成功以后,输出如下: ?...需要注意的是,该命令也会把当前工作区下的文件直接删除,而不是只删除仓库中的文件。 ? 现在,提交这次修改到仓库。 ? 那么test将会在当前版本被删除,之前的版本依旧有test文件存在。不信?...那我们回退版本到之前的版本来看看即可。 ? git rm可以删除一个文件,你不要需要怕,只要你在删除之前,提交这个文件到过代码仓库,那么删除之前的那个版本依旧会保存该文件。所以大胆点干活,别怕。
那么如何把这个压缩包彻底从 git 删除? 如果需要删除 git 的历史记录,使用方法很简单,请看 Git如何永久删除文件(包括历史记录) - shines77 - 博客园 。...当然这个方法需要很长时间,因为提交大文件的时间不长,所以可以使用walterlv的方法 彻底删除 Git 仓库中的文件避免占用大量磁盘空间 - walterlv 于是远程仓库删好了,但是本地仓库还是有小伙伴拉下来...,于是如何让本地的小伙伴可以使用最新的仓库?...删除原来分支,这样就好 最后的命令是使用 gc 清掉这个提交 这时候查看自己的git 文件夹,如果文件夹还是那么大,那么说明还有一个分支是引用提交大文件,需要自己去看一下是哪个分支。...需要说明,git 如果提交一个文件,然后删除他,继续提交,那么这个文件是存在 git 中,需要使用特殊的命令才可以删除。
完全是被推着一步步在学git操作! 删除单个文件 如果只是删除本地的一个文件,通常是物理删除,然后git删除,再提交即可。...rm test.txt git status git rm test.txt git commit -m "remove test.txt" git push 还原那些误删的文件 另一种情况是删错了...,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: $ git checkout -- test.txt git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除...批量删除多个文件 在项目根目录使用命令git add -A然后使用命令git commit -m "del" 再然后要使用 git push推送到远程服务器 建议每一次add之后再次使用git status...命令来查看是否已经stage了 如果你要上传删除(全部上传) git add --all
部分场景中,我们会希望删除远程仓库(比如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
今天上传代码的时候忘记写 gitignore 了,一不小心把 node_modules 也传上去了,这破玩意体积巨大,所以要从上面删除。...执行命令: git rm -r --cached admin/node_modules git commit -m "删除node_modules" ? 下次 push 代码的时候就会发现已经删掉了。
刚接触 git 的时候,当碰到之前删除某个文件(比如图片)后面开发又需要恢复的时候,会采取非常笨的方法。从某一个文件存在的 commit 切换出一个新的分支,再将需要的某个文件拷贝出来。...git 其实本身就可以恢复被删除的文件。几个命令就可以了。 大多数我们是不知道在何时删除了某个文件,通过下面这个命令我们可以查看在哪个 commit 中删除了哪些文件。...git log --diff-filter=D --summary 执行这个命令后效果如下: ?...比如我想恢复 ic_selected.png 这个文件,我们可以看到删除该文件对应的 commit id :f541888b0e7255cc6aa22a277f3dd9fe5502e5e2。...接下来我们执行下面这个命令 git checkout $commit~1 filename 这个命令会检出该 commit 的上一个提交中的文件,因为我们是在该 commit 中删除的文件,所以需要在上一个
于是想到的解决方案如下。 通过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
使用git branch -d testing,出现错误提示,这是因为删除的分支包含了还未合并的工作。解决办法是强制删除它,用参数“-D”表示。...和Windows系统下删除打开的文件道理一样。解决办法是只要切换分支到其他任意分支上,然后进行删除即可。例如删除”testing”分支,你可以这样做。...从提示的原因看是没有找到testing分支,因此为了准确起见,我们可以从./git/refs/HEADS/文件夹查找,看是否有testing,如果有就把这个文件删除。...再看.git/packed-refs文件,搜索testing,如果有,就把那一行删除。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
例如使用ssh方法: git clone git@github.com:xxx/xxx.git 2.对需要删除的文件、文件夹进行如下操作: git rm test.txt (删除文件) git rm -...r test (删除文件夹) 3.提交修改 git commit -m “Delete some files.” 4.将修改提交到远程仓库的xxx分支: git push origin xxx 二。...删除远程仓库 但不删本地资源 我们在使用idea开发的过程中经常会出现新建项目的时候直接把xxx.iml文件也添加到了git trace 当然这并不会出现什么问题,问题是当我们把xxx.iml文件push...也就是说对于导入项目来说是多余的。 正规的源码目录: src/ pom.xml .ignore 但是,我们又不能直接在本地删除xxx.iml。因为该文件是我们在本地开发的时候必须的。...那么问题来了:我们要在保留本地文件的情况下,删除远程仓库的文件(程序员一定要通过技术手段来实现目的,捂脸笑) ok,废话不多说,下面是解决方案: 把xxx.iml加到`.gitignore`里面忽略掉
查看所有分支 查看项目的远程分支: git branch -r 删除远程分支 比如我们要删除远程分支 origin/SLT_table_report git push origin -d 分支名 我们执行...: git push origin -d SLT_table_report 删除成功 注意 这里不能写成 origin/SLT_table_report,不然会报错:具体请参考【git 删除远程分支报错...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
删除已经提交的.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
Administrator@wangxinqiang-PC MINGW32 /d/juejinqifu (develop) $ git status On branch develop error...unknown compression method) fatal: loose object e77ede4f4eb99996e9312a9e8f231d1fc3558db0 (stored in .git...7ede4f4eb99996e9312a9e8f231d1fc3558db0) is corrupt Administrator@wangxinqiang-PC MINGW32 /d/juejinqifu (develop) $ git...unknown compression method) fatal: loose object e77ede4f4eb99996e9312a9e8f231d1fc3558db0 (stored in .git.../objects/e7/7ede4f4eb99996e9312a9e8f231d1fc3558db0 .git/objects/e7/7ede4f4eb99996e9312a9e8f231d1fc3558db0
本文主要介绍如何使用 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仓库中的敏感文件及其历史记录。虽然这种方法需要一些手动操作,但它不需要安装任何第三方工具。
1,首先在本地删除要删除的文件的相对路径 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 要删除文件的相对路径...' --prune-empty --tag-name-filter cat -- --all 2,以强制覆盖的方式更新到远程服务器 git push origin master --force --all
参考文章: 解决.gitignore文件忽略规则无效git依然跟踪修改的问题
领取专属 10元无门槛券
手把手带您无忧上云