有时候工作区中会有我们创建的一些密码配置文件,或者自动生成的一些临时文件,比如python代码编译产生的.pyc文件和java代码编译产生的.class文件等,我们在提交代码的时候没有必要把这些文件也提交。这时就可以用.gitignore文件来指定提交时需要忽略的文件/文件夹列表,那么下次提交时这些文件就不会被提交到本地和远程的代码库中。

已有的.gitignore文件大全

链接:https://github.com/github/gitignore

针对各种语言的,可以直接拿来用。在github上创建远程仓库的时候,也可以直接指定选择哪些.gitignore文件。

自己创建.gitignore文件

  • 在当前本地git仓库根目录下,创建一个名为".gitignore"的文件,并在其中按如下格式写入要忽略的文件/文件夹:
# i will ignore these files:
*.dll
*.class
*.pyc
debug/*

注:第1行"#"后面的是注释,第2~4行分别表示要忽略*.dll、*.class、*.pyc文件,最后一行表示忽略掉debug目录及目录的所有内容。

  • 保存并提交该.gitignore文件。

  • git status命令再查看状态,发现工作区的状态已经是clean了,没有再提示*.dll、*.class、*.pyc这些类型的文件和debug目录下的文件未提交了。

清除已经提交的文件

比如在配置.gitignore文件之前,就不小心提交了一些dll文件和debug目录下的文件,现在想清除仓库中的这些文件,那么可以这样办:

git rm *.dll
git rm -r debug
git rm --cached *.dll
git rm –r --cached debug
git commit -m "清除缓存"

执行完之后发现代码库中就没有这些文件/文件夹了。

修改git的全局配置

上面添加了.gitignore文件之后,只会对当前仓库产生影响,那么如果想把这个.gitignore文件作为全局配置,该怎么办呢?

  • 创建一个.gitignore_global文件,添加要忽略的文件/文件夹清单。

  • 执行命令:git config --global core.excludesfile .gitignore_global即可。

随机推荐

  1. python笔记7:mysql、redis操作

    模块安装: 数据操作用到的模块pymysql,需要通过pip install pymysql进行安装. redis操作用的模块是redis,需要通过pip install redis进行安装. 检验是 ...

  2. 在java中,List是个接口,那实现List接口的类有哪些,有什么区别?

    在java中,List是个接口,那实现List接口的类有哪些,有什么区别? 解答: ArrayList是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引 ...

  3. EJB EJB定义了一组可重用的组件:Enterprise Beans

    EJB EJB定义了一组可重用的组件:Enterprise Beans.开发人员可以利用这些组件,像搭积木一样建立分布式应用.

  4. C++获取系统时间方法(毫秒级)

    #include <sys/time.h> long getCurrentTime() { struct timeval tv; gettimeofday(&tv,NULL); r ...

  5. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.3——排除任务

    问题: 你想要在构建进程当中排除指定的任务. 解决方案: 可以使用-x排除单个任务.编辑task graph排除多个任务. 讨论: Gradle的构建进程包含了许多任务的执行顺序.他们中的大多数都依赖 ...

  6. 妈妈再也不用担心我使用git了

    妈妈再也不用担心我使用git了 Dec 29, 2014 git git由于其灵活,速度快,离线工作等特点而倍受青睐,下面一步步来总结下git的基本命令和常用操作. 安装msysgit 下载地址:ms ...

  7. [POJ] Brackets Sequence

    This problem can be solved elegantly using dynamic programming. We maintain two arrays: cnt[i][j] -- ...

  8. 《JAVA多线程编程核心技术》 笔记:第五章:定时器Timer

    一.定时器Timer的使用 1.1 方法schedule(TimerTask task, Date time) 是否过期 执行说明 开始执行时间 time>当前时间(未过期) 在time到达时执 ...

  9. Scala学习之For、Function、Lazy(4)

    1.for的使用 for的使用在各种编程语言中是最常见的,这里只是聊聊for在Scala中的表现形式,由于Scala语言是完全面向对象的,所以直接导致for的不同呈现,下面举几个例子说明一下 obje ...

  10. 使用ServiceStack缓存技术

    ServiceStack 是一个高性能的 .NET Web 服务框架,简化了开发 XML.JSON.JSV 和 WCP SOAP Web 服务.它定义了符合 Martin Fowlers 数据传输对象 ...