Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件
一、Git提供了文件忽略功能。当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪
HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
问题:最近在github做一个项目,每次成生成的log日志文件和本地IDE的.idea/workspace.xml,每次提交说没有跟踪文件,更郁闷的的我的项目有在本地虚拟机,有时候会出现没有权限跟踪文件。
今天特意解决下问题:
(1) 检查当前文件状态 要查看哪些文件处于什么状态,可以用 git status 命令,可以看出intellij idea 的文件.idea/workspace.xml 也提示没有被跟踪的信息
(2)如果已经不幸之前commit workspace.xml 的话,必须执行以下命令:git rm --cached .idea/workspace.xml
(3)现在我们通过git .gitignore文件,建立.gitignore文件,在项目根目录下创建一个名为.gitignore的文件(注意文件的前面有个点),用于记录忽略规则
注:windows下不可以按常规方法新建.gitignore文件,需要在命令行中进行创建:echo >.gitignore,另外git base下的命令如下:touch .gitignore
(4)编写忽略规则(由于IDE比较麻烦,我就直接使用git 客户端进行编辑了),添加的规则如下所示,针对.log为文件和.xml文件进行了忽略规则
更多规则可以连接这里:http://blog.csdn.net/yonnangel/article/details/50115059
(5)再次查看状态,已经不在跟踪的局域了,这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。
(6)总结:这样子就可以避免每次切换不同的分支而导致的都要跟踪一次日志文件和IDE的.idea/workspace.xml 文件(我都是git stash 的)
二、删除远程或者本地的一个文件
问题:还是上面的原因,因为我以前已经把日志文件提交到了github之上,现在要删除这个文件,以后不要在提交这些无用的文件了
(1)查看远程文件是结果如何删除这个远程文件来
(2)使用 Git rm 命令即可,有两种选择:
【1】一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;
【2】一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)
(3)在这里我们使用第一种,
先执行命令:git rm --cached .idea/workspace.xml 删除缓存文件
再查看当前工作区装填。操作后的结果如图所示
(4)最后直接,提交更新,同时push推送到github远端仓库
(5)再次查看git项目log文件,已经被删除掉了
错误问题,切换分支
error: Your local changes to the following files would be overwritten by checkout:
.idea/workspace.xml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构