用mac开发项目,每次提交文件时都生成修改文件的.DS_Store文件,提交时会不会觉得比较烦?别急,下面给出解决方案。我们需要用到.gitignore文件去配置Git目录中需要忽略的文件。

.gitignore文件

.gitignore文件里配置用于忽略的文件,格式如下:

1. #号开头的代表注释符号,会被忽略。

2. 使用标准的glob模式匹配,glob模式要点:

*:任意个任意字符,
[]:匹配任何一个在方括号中的字符,
?:匹配一个任意字符,
[0-9]:匹配字符范围内所有字符

3. 匹配模式最后的反斜杠(/)代表的是目录。

4. 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

操作步骤

1. 在git目录下新建 .gitignore文件。文件内容加上:

*/.DS_Store
.DS_Store

2.  保存.gitignore文件,表示忽略当前目录的.DS_Store以及其子目录的.DS_Store。

3.  全局配置要忽略的文件,这个配置文件对所有的Git目录都生效。

  • 创建~/.gitignore_global文件,把需要全局忽略的文件写入该文件,语法和.gitignore一样
  • 在~/.gitconfig(git配置文件)中引入.gitignore_global文件
    [core] 
    excludesfile = /Users/project/.gitignore_global 
  • 也可以通过git config --global core.excludesfile/Users/project/.gitignore_global命令来实现
  • 如果已经配置过全局的忽略文件,可以通过git命令找出配置文件的目录:git config --global core.excludesfile
  • 配置成功

问题

1. 删除已经提交在git上的.DS_Store文件。使用下面的命令,先将stage中的文件删除,然后提交,再push到远端。

  • git rm --cached filename
  • git commit -m "delete file"
  • git push origin

2. .gitignore文件里的设置不生效。原因是git已经关联跟踪了这些文件,再次设置.gitignore文件时无法生效,需要先清除缓存中文件才行。

  • git rm -f --cached filename

文章来源

http://www.jianshu.com/p/06c32daefe0f

http://www.jianshu.com/p/8c0d262e49a6

mac里git项目删除.DS_Store文件的更多相关文章

  1. 如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?

    如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?原文链接:http://www.java2class.net/bbs/viewthr ...

  2. Mac删除.DS_Store文件

    1.删除.DS_Store文件 sudo find ./ -name ".DS_Store" -depth -exec rm {} \; 2.禁止生成此文件 defaults wr ...

  3. Mac OS OneDrive 无法同步.DS_Store文件 出错

    Mac OS OneDrive 无法同步.DS_Store文件 同步出错 解决方案: 第一步:打开 terminal 窗口,到本地同步的目录下: cd "/Users/gkjglobal/G ...

  4. 【git】删除某个文件的所有历史记录,批量删除远程分支

    删除git某个文件的所有历史记录 git的目的就是版本控制,记录每一个版本的变动.然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中.例如不小心上传了一堆错误的文件,或者不小心上 ...

  5. git clean 删除忽略文件 和 未被跟踪文件及文件夹

    git clean 删除忽略文件 和 未被跟踪文件及文件夹 概念 首先我们需要认清 忽略的文件 和 未被跟踪的文件 忽略的文件:.gitignore 中忽略的文件 未被跟踪的文件:没有被忽略,但是还没 ...

  6. Git仓库删除大文件

    Git仓库删除大文件 背景 当用Git久了,难免会手误或临时添加一些大文件到仓库中,即使以后添加进了.gitignore,甚至做了git rm,但是Git为了保证版本可回退,history pack里 ...

  7. mac系统删除.DS_Store文件

    查找某目录下某类文件 find . -name ".DS_Store" -type f -print # find: 主命令 # . : 当前目录下(可变) # -name: 通过 ...

  8. Git项目删除文件

    场景:项目中有一个文件test_exam_copy 文件之前提交上去的,现在不想要,本地也不要 方案一(手动图示删除): 直接登录到gitLab上面,进入该文件详情,直接删除,然后本机push下,则库 ...

  9. 彻底删除 Git 项目中的文件(BFG Repo-Cleaner 用法)

    一些时候由于开发初期经验不足和贪图方便, 会把一些不应该提交到 Git 的文件上传到 Github, 带来一系列安全问题, 更有可能是把一些大文件上传到 GitHub 上, 导致项目非常臃肿, 每次 ...

随机推荐

  1. JAVA 8 Optional类介绍及其源码

    什么是Optional对象 Java 8中所谓的Optional对象,即一个容器对象,该对象可以包含一个null或非null值.如果该值不为null,则调用isPresent()方法将返回true,且 ...

  2. Java Security:keytool工具使用说明

    Keytool用法说明 Keytool是一个key与cert的管理工具.使用keytool可以管理public key.private key,以及与key之相关的certificate. 1.com ...

  3. AS与.net的交互——详解UrlRequest

    在.net中我们知道有一个叫做WebHttpRequest的东西,用它我们可以实现各种网络偷窥,监控,采集和机器人,如果外加一 个模式识别,那真是吊爆了... 在as中我们也可以实现同样的功能,而且我 ...

  4. 密码校验正则表达式(java 环境)

    密码校验需求: 1) 密码控制只能输入字母.数字.特殊符号(~!@#$%^&*()_+[]{}|\;:'",./<>?)2) 长度 6-16 位,必须包括字母.数字.特殊 ...

  5. 设计模式C#实现(十二)——装饰模式

    意图 0 适用性 1 结构 2 实现 3 效果 4 参考 5 意图 动态的给一个对象添加一些额外的职责. 适用性 动态的为单个对象添加职责而不影响其他对象 处理那些可以撤销的职责(? 在某些功能不需要 ...

  6. 使用Tcmalloc进行堆栈分析

    在前一篇译文<使用TCmalloc的堆栈检查>,介绍了Tcmalloc进行堆栈检查,今天翻译<heap-profiling using tcmalloc>,了解如何 TCmal ...

  7. C#学习笔记-Windows窗体基本功能(Login登录界面)

    本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...

  8. hdu 5894 hannnnah_j’s Biological Test 组合数学

    传送门:hdu 5894 hannnnah_j’s Biological Test 题目大意:n个座位,m个学生,使每个学生的间隔至少为k个座位 组合中的插空法 思路:每个学生先去掉k个空位间隔,剩下 ...

  9. Ahead-of-time compilation(AOT)

    Ahead-of-time (AOT) compilation is the act of compiling a high-level programming language such as C  ...

  10. 嵌入式Linux驱动学习之路(四)u-boot编译分析

    u-boot编译分析 在配置完成后,执行make开始编译.这里打开Makefile. 首先在目标all前有一句话首先检查是否有include/config.mk文件来判断是否成功配置过. ifeq ( ...