簡體   English   中英

git忽略太多文件

[英]git ignores too many files

我有文件結構:

$ ls xtest/
arch.gz.keep  
raq.gz.keep
qq

$ ls xtest/qq/
ww.gz.gitkeep
aa.keep

我的.gitignore

/xtest/*
*.sql
*.gz
*.zip
*.log
!*.keep
!*.gitkeep
!*.dist
!*.dist.*

git status文件未跟蹤:

xtest/.gitkeep
xtest/.keep
xtest/arch.gz.keep

對我來說,我還需要跟蹤:

xtest/qq/ww.gz.gitkeep
xtest/qq/aa.keep

git --version 1.9.1 on Ubuntu 14.04

qq文件夾中,如果僅包含ww.gz.gitkeepaa.keep或者您希望qq文件夾中的所有文件均受git版本控制,只需刪除.gitignore中的/xtest/* ,因此.gitignore如下所示:

*.sql
*.gz
*.zip
*.log
!*.keep
!*.gitkeep
!*.dist
!*.dist.*

通過在.gitignore中包含/xtest/* ,您將指示Git忽略xtest/qq 它永遠不會下降到該目錄,也永遠不會注意到您不想忽略某些匹配*.keep文件。 添加以下選項之一,以使xtest/qq不被忽略:

!/xtest/qq/
!/xtest/*/

后者會忽略xtest所有目錄,前者只是qq

我找到了解決方案,關鍵是我想忽略從dir'xtest'->'/ xtest /'開始的每個文件/路徑,除了一些放置在/ xtest /中的文件之外,我如何添加不帶點的文件(所有擴展名-less文件)到gitignore文件?

也許對某人有幫助:忽略dir /xtest/任何文件,但忽略任何目錄,而不是某些特定文件:

/xtest/**/*
!/xtest/**/*/
/xtest/**/cache/*
*.sql
*.gz
*.zip
*.log
!*.keep
!*.gitkeep
!*.dist
!*.dist.*

即使存在* .keep,*。gitkeep等,cache /的子目錄也將始終被忽略,但在cache /的第一個深度中不會被忽略,並且除*外,幾乎所有文件都將在其他目錄中忽略(進入/ xtest /)。保持* .gitkeep等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM