Git中的.gitignore文件

.gitignore 用于添加和push时忽略自己不想 track 的一些文件。

其规则和用法如下:

一、在创建本机仓库时,新建 .gitignore 文件(一般不再GitHub上建立仓库时创建,不然pull和push 都会失败):

首先在自己要用Git管理的目录中建立 .gitignore文件
$  vim .gitignore

将自己不想track和push的文件添加到其中,(# 代表注释):

# 忽略当前仓库中所有的 .exe 文件
*.exe

# 忽略当前仓库中所有的 .txt 文件
*.txt

# 只忽略根目录下的 Test目录,Test目录本身也被忽略,而对于子目录下的Test,如/Src/Test则不会被忽略。
/Test

# 忽略仓库中所有的 x64 目录,在不同的子目录下的 x64 目录都会被忽略
x64

# !表示排除该文件,将该文件排除在外
/src/*
!*.txt      除了/src/文件下的 .txt 文件外,其他文件全部忽略

二、有时候在项目开发过程中,突然想把某些文件加入到忽略规则中区,当按照上述方法来操作之后发现并未生效。其原因是 .gitignore 只能忽略那些原来就没有被 track 的文件,如果某些文件已经被 trace 过了,纳入了版本管理中,此时再则修改 .gitignore 就不会起作用解决方法就是先把本地缓存删除(将其状态改变成未track),然后再提交。主要有如下两种方式,以目录(Folder) 和 文件(file)为例:

方法1:

# 1. 先将对应文件从 git 的索引中删除。
#    如停止 trace fileName 文件
$    git rm --cached  fileName        
#    或 停止trace folderName目录,将其内部的所有文件索引递归删除
$    git rm -r --cached folderName

# 2. 提交此次untrace 的修改
$    git commit -m "untrace some file."

# 3. 在 .gitignore文件中将此次移除的,不需要再继续trace的文件添加进去。
     否则后续进行 git add的时候又会将该这些文件trace进去。

# 4. 提交修改后的 .gitignore文件,后续提交将不再trace前面已经移除的文件
$    git add .
$    git commit -m "update .gitignore file"
$    git push

方法2:与方法1类似,只是先将所有的文件索引全部删除,再更新.gitignore后,再重新git add

先把本仓库的所有文件都变成untrack状态,即在删除所有文件的git 索引。
其删除的是之前添加在 track 中的Index,本机上的文件并未删除。
再更新.gitignore文件,将需要的文件添加进去,最后提交。

$  git rm -r --cached . 
#  需要及时更新 .gitignore 文件,否则后面又会重新trace  
$  git add .                   # 重新将所有文件track
$  git commit -m "message"     
$  git push          

参考资料:

[1]  Git忽略提交规则 - .gitignore配置运维总结

[2] Git提交空目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值