Правила в .gitignore игнорируются если они добавлены после того, как соответствующие начали отслеживаться в репозитории. Для того, чтобы директивы в файле исключений заработали, необходимо вначале удалить из репозитория (сделать неотслеживаемыми) ненужные файлы и папки:
git rm --cached composer.* git rm -r --cached lib/
Обратите внимание на то, что исключение папок требует присутствия опции -r в команде.
Коммитим изменения:
git add . && add commit -m "exceptions" && git push
Теперь файлы компоузера и папка lib/ не будут отслеживаться и синхронизироваться согласно директивам .gitignore.