Git 的 .gitignore 配置

git中提供两种过滤机制,一种是全局过滤机制,即对所有的git都适用;另一种是针对某个项目使用的过滤规则。

.gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些心得。问题:.gitignore只适用于尚未添加到git库的文件。如果已经添加了,则需用gitrm移除后再重新commit。

第一步:添加".gitignore"文件
往项目根目录添加一个文件".gitignore"。这文件和".git"文件夹同级。

第二步:设置过滤条件

1、配置语法:

 以斜杠“/”开头表示目录;

 以星号“*”通配多个字符;

 以问号“?”通配单个字符

 以方括号“[]”包含单个字符的匹配列表;

 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

 此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

2、示例:

(1)规则:fd1/*
   说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;

(2)规则:/fd1/*
   说明:忽略根目录下的 /fd1/ 目录的全部内容;

(3)规则:

/*

!.gitignore

!/fw/bin/

!/fw/sf/

说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;

第二种方法:可以修改.git/info/exclude文件来实现。

举例如下:

vi .git/info/exclude

# git ls-files --others --exclude-from=.git/info/exclude

# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
*.[oa]        #忽略以.o或.a结尾的文件或目录
*.pyc        
*.exe       #忽略以.exe结尾的文件或目录
.*              #忽略以.开头的文件或目录
*.rar
*.zip
*.gz
*.bz2
*.db
*.sqlite

************************ 分割线***************************
摆脱 UserInterfaceState.xcuserstate给Xcode 版本控制(git)带来的困扰
当添加到缓存区的时候命令 rm 移除不了文件
错误提示:
zizp:NightCafe zizp$ git rm .DS_Store 
error: the following file has changes staged in the index: .DS_Store

(use --cached to keep the file, or -f to force removal)
解决方法:
$ git rm --cached iLedger.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate
$ git commit -m "Removed the stupid strange file that shouldn't be tracked"
$ git push
或者是
$ git rm -f NightCafe.xcworkspace/xcuserdata/zizp.xcuserdatad/UserInterfaceState.xcuserstat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值