Почему .gitignore не работает, когда я использую git add *? - PullRequest
0 голосов
/ 29 ноября 2018

Чтобы удовлетворить требования 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-файл, следующий ответ, похоже, не работает.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Вместо того, чтобы игнорировать файл (часто я добавляю его обратно, вызывая метод 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

Готово

0 голосов
/ 29 ноября 2018

Ранее добавленные файлы не затрагиваются, добавляя их позже в gitignore.Сделайте резервную копию файлов, удалите файлы локально и зафиксируйте их.Так, чтобы они не отслеживались git.Теперь вставьте файлы обратно в исходное место, и вы можете добавить большие имена файлов в gitignore.Теперь git не будет их отслеживать, так как они считаются свежими файлами.

Другой способ - использовать, как предлагает @alfunx, git rm --cached <file>.Файл будет удален из кэша (индекса), и после фиксации файл больше не будет отслеживаться.Вы также можете соответствующим образом обновить .gitignore, чтобы избежать дальнейшего отслеживания файла.

Подробнее об этом см. В документации gitignore

Файл gitignore определяет намеренно не отслеживаемые файлы, которые Git должен игнорировать.Файлы, уже отслеженные Git, не затрагиваются;подробности см. ниже NOTES .

[...]

NOTES

Цель файлов gitignore - обеспечить, чтобы определенные файлы не отслеживалисьGit остаются неотслеживаемыми.

Чтобы остановить отслеживание файла, который отслеживается в данный момент, используйте git rm --cached.

...