一个大型的工程,通常会有多个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
记录过的文件(自添加以后,从未 add
及 commit
过的文件),而新添加的仓库已经执行过add
、commit
了。
- 解决的方法,在A仓库目录下执行如下指令:
git rm --cached B #从 git 的数据库中删除对于该文件或目录的追踪记录
git add --all
git commit -m "something is delete from git repository"