git忽略某个目录或文件

一个大型的工程,通常会有多个git仓库,也会出现在一个git仓库(假设为A仓库)目录下包含其他的gti仓库(假设为B仓库)。如果A仓库没有添加gitignore文件,每次对B仓库修改之后,都会提示modified: B (new commits)
为避免出现这种情况可以在A仓库的根目录下添加一个.gitignore文件,将B仓库的路径添加到该文件中,格式如下(示例中都是A仓库下的其他git仓库):

  1 
  2 config/
  3 source/sdk/drv
  4 source/sdk/include
  5 source/app
  6 source/boot
  7 source/common
  8 source/customer
  9 prebuilts/
 10 doc/
 11 sample/
 12 target/

有时候也会出现,在.gitignore文件添加了仓库路径后,在A仓库下使用git status查看,还会出现modified: B (new commits)的情况。这是因为.gitignore文件只能作用于 Untracked Files,也就是那些从来没有被 git记录过的文件(自添加以后,从未 addcommit过的文件),而新添加的仓库已经执行过addcommit了。

  • 解决的方法,在A仓库目录下执行如下指令:
git rm --cached B   #从 git 的数据库中删除对于该文件或目录的追踪记录
git add --all
git commit -m "something is delete from git repository"

参考链接 https://segmentfault.com/q/1010000000430426

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值