簡體   English   中英

為什么在使用git add *時.gitignore無法正常工作?

[英]Why is .gitignore not working when I use git add *?

為了滿足github 100Mb的要求,我運行以下命令忽略一些大文件:

$ find ./* -size +100M | cat >> .gitignore

但是稍后運行add *時,它仍會添加> 100MB的文件以進行提交。

$ git add *
warning: LF will be replaced by CRLF in hw1/input/act_test.csv.
The file will have its original line endings in your working directory

如何使此gitignore工作? 在此先感謝您的想法和建議。

添加:我的意圖是使add *不再跟蹤大型csv文件,以下答案似乎無效。

先前添加的文件不受此影響,以后將它們添加到gitignore中。 備份文件,然后在本地刪除文件並提交。 因此,它們不會被git跟蹤。 現在,將文件粘貼回原始位置,然后可以將較大的文件名添加到gitignore。 現在,git將不再跟蹤它們,因為它們被視為新文件。

就像@alfunx建議的那樣,另一種方法是使用git rm --cached <file> 該文件將從高速緩存(索引)中刪除,一旦您提交,將不再跟蹤該文件。 您也可以相應地更新.gitignore,以避免進一步跟蹤文件。

gitignore文檔中閱讀有關它的更多信息

gitignore文件指定Git應該忽略的故意未跟蹤的文件。 Git已經跟蹤的文件不受影響; 有關詳細信息,請參見下面的注釋

[...]

筆記

gitignore文件的目的是確保未被Git跟蹤的某些文件保持未跟蹤狀態。

要停止跟蹤當前跟蹤的文件,請使用git rm --cached

而不是忽略文件(通常以后會通過調用add。方法將其添加回去),還有一種更好的方法來解決該問題git lfs ,請參閱下面的用法,這將有助於將大文件推送到github 。

 $git lfs install
 $git lfs track "*.csv"
 $git add .gitattributes
 $git add act_train.csv
 $git commit -m "test lfs"
 $git push

完成

暫無
暫無

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

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