Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件

一、Git提供了文件忽略功能。当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪

HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件

  问题:最近在github做一个项目,每次成生成的log日志文件和本地IDE的.idea/workspace.xml,每次提交说没有跟踪文件,更郁闷的的我的项目有在本地虚拟机,有时候会出现没有权限跟踪文件。

今天特意解决下问题:

这里有详细的学习:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BB%93%E5%BA%93

(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

 

 

 

 

 

 

时间: 2024-10-24 22:50:53

Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件的相关文章

Git与GitHub学习笔记(二)提交的一些笔记

1.合并分支的使用一定要切换到master分支上去合并:git merge company2.切换分支的时候一定要提交干净本地分支的代码,才可以切换分支,否则提示错误信息: 3.这时候我们做的就是提交干净本地的代码,再次切换即可以 4.下来我们要合并一个远程的分支home分支到master主分支上去, 发现上面的做法是错误的,下面我们更正后再次合并 5.好了,我们总算合并了,但是代码到哪里去了来,告诉你,代码这会是跑到你本地来了,而远程仓库的master还是没有代码的,代码还是在本地仓库(sta

Git与GitHub学习笔记(一)如何删除github里面的文件夹?

按照以下步骤即可(本地删除) 1. git pull you git url2. git checkout 3. rm -r dirName4. git add --all5. git commit -m"remove dir"6. git push you git url7. input your name 8. input your password

Git与GitHub学习笔记(七)Windows 配置Github ssh key

前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户名和密码的,要实现无密码登录,就需要创建SSH 密钥(ssh key),SSH 密钥可以认为是和另一台电脑通信时的唯一的识别证,SSH 密钥对可以让我们方便的登录到 SSH 服务器,而无需输入密码.GIT源代码管理就是使用此种安全机制,本文本将介绍SSH KEY的生成过程. >>>不知道配置

Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档

前言 你可能比较熟悉如何用 Github Pages 来分享你的工作,又或许你看过一堂教你建立你的第一个 Github Pages 网站的教程.近期 Github Pages 的改进使得从不同的数据源来发布您的网站更加的方便,其中的来源之一就是你的仓库的 /docs 目录. 文档的质量是一个软件项目健康发展的标志.对于开源项目来说,维护一个可靠而不出错的知识库.详细说明所有的细节是至关重要的.精心策划的文档可以让增加项目的亲切感,提供一步步的指导并促进各种方式的合作可以推动开源软件开发的协作进程

Git与GitHub学习笔记(四)合并远程分支

  在这里的前提: 1.你已经fork 源作者的项目到你自己的仓库了 2.git clone 自己仓库fork的项目,注意地址,这里是自己的账号下的地址,而不是源作者的项目地址哦 3.在本地修改代码,git push origin master 提交到自己的主分支(自定义别的分支),  提交一个新的分支   提交分支代码:  填写好信息之后:点击按钮直接提交就可以了  这时候在源仓库可以看出自己提交非分支请求了:  默认第一个分支   添加合并注释后直接提交就可以了 比较文件不同的地方   观看

Git与GitHub学习笔记(五)一次提交失败的记录

代码已经跟踪了,添加注释说明,但是总是添加不了 error: pathspec 'live-page'' did not match any file(s) known to git. 重复了好多遍,最后发现代码还是没有提交 D:\wamp64\www\study-line>git commit -m 'add live-page' error: pathspec 'live-page'' did not match any file(s) known to git. D:\wamp64\www

kvm虚拟化学习笔记(三)之windows kvm虚拟机安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1290191 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 h

VSTO学习笔记(三) 开发Office 2010 64位COM加载项

原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(Automation Executables) 2.Office加载项(COM or Excel Add-In) 3.Office文档代码或模板(Code Behind an Office Document or Template) 4.Office 智能标签(Smart Tags) 本次我们将学习使

JavaScript学习笔记(三):JavaScript也有入口Main函数_javascript技巧

在C和Java中,都有一个程序的入口函数或方法,即main函数或main方法.而在JavaScript中,程序是从JS源文件的头部开始运行的.但是某种意义上,我们仍然可以虚构出一个main函数来作为程序的起点,这样一来不仅可以跟其他语言统一了,而且说不定你会对JS有更深的理解. 1. 实际的入口 当把一个JavaScript文件交给JS引擎执行时,JS引擎就是从上到下逐条执行每条语句的,直到执行完所有代码. 2. 作用域链.全局作用域和全局对象 我们知道,JS中的每个函数在执行时都会产生一个新的