iOS开发必备

Git ignore文件的设置

2015-11-17  本文已影响4174人  Seasong

本文所有的描述都可以在Git Bash中通过git help ignore命令获取,本文仅仅是用更通俗的描述配以示例以方便新手配置。

三种不同作用域的ignore文件

Git 下设置ignore文件共有三种方式,分别是:

以上三种方式的实现方式分别为:

  1. 全局设置
    编辑用户账户文件夹(ex, C:/User/Sea)下的.gitconfig文件,编辑后的.gitconfig示例如下:
[user]
name = sea
email = sea@gmail.com
[core]
excludesfile = ~/gitignore.txt

其中,与ignore相关的设置代码部分是

[core]
excludesfile = ~/gitignore.txt

~/gitignore.txt可以为任意路径下的任意文件,可自行命名.gitconfig文件中仅仅是引用该文件的路径。具体的ignore设置就是在该文件中设置,将在下文中讲解。

  1. 单个repo专用且可同步至远程仓库
    在repo根目录下新建.gitignore文件,文件名不可更改在Win系统下,不允许新建以.开头的文件或文件夹,因此需要在Git Bash中新建,参考代码如下:
cd c:/workspace/somerepo
vim .gitignore

在编辑结束后,:wq保存退出即可。

  1. 单个repo专用且不同步至远程仓库
    直接编辑repo根目录下的.git/info/exlude文件。

ignore文件的设置语法

在上文的三种不同作用域的设置方法中,都需要在某一个文件(c:/user/sea/gitignore.txtc:/workspace/somerepo/.gitignorec:/workspace/somerepo/.git/info/exclude)中用特定的语法设置希望被忽略的文件。常用语法介绍如下:

# 以#开头的行都是注释
# 忽略*.o和*.a文件(常见的编译过程中产生的文件)
 *.[oa]
# 忽略*.c和*.C文件,somefile.b除外,!用于在在某规则之后增加例外
*.[bB]
!somefile.b
# 忽略somepath文件和somepath目录
dbg
# 只忽略somepath目录,不忽略somepath文件
somepath/
# 只忽略somepath文件,不忽略somepath目录
somepath
!somepath/
# 只忽略当前目录下的somepath文件和目录,子目录的somepath不在忽略范围内
/somepath

注意

若通过以上几种方法设置了对somefile的忽略之后,通过git status查看仍显示somefile状态。说明在设置ignore参数之前,在git库中已存在了这个文件,因为之前push过该文件,因此不起作用。
解决方法为:在本地删除该文件,并commit+push。之后的所有操作中可会忽略该文件。

上一篇 下一篇

猜你喜欢

热点阅读