簡體   English   中英

Git會忽略除特定擴展名之外的所有文件,即使在子目錄下也是如此

[英]Git ignore all files except those of a particular extension, even under subdirectories

如何忽略除具有特定擴展名的文件以外的所有文件,甚至考慮位於子目錄中的文件?

示例:我的玩具“存儲庫”

./foo.xyz  
./tmp/foo.xyz  
./tmp/foo.arg  
./.gitnore  

我想保留foo.xyz和tmp / foo.xyz,但不保留foo.arg

我嘗試了以下方法:

# gitignore file
*                                                                                                           
!*/                                                                                                         
!.gitignore
!*.xyz

但是foo.arg不會被忽略:(

請問在子目錄中使用某種遞歸模式有什么幫助嗎?

以防萬一,請確保您的文件名為./.gitignore ,而不是問題中的./.gitnore (可能是簡單的錯字)。

為了確保文件被忽略,請使用一個您知道被忽略的文件,然后輸入git check-ignore -v -- afile :您將查看.gitignore文件是否實際上有效。

如果沒有,請嘗試:

git rm --cached -r .
git add .
git commit -m "apply .gitignore"

這是一個.gitignore文件:

/Debug/      ignore a folder and all subdirectories.
/Release/
*.sdf        ignore all files in this format. (all in project directory)
sample.txt   ignore a file.

我認為您已將文件添加並提交到git。 現在試圖忽略它。 不可能。 您應該從git中刪除它。

暫無
暫無

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

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