Homework

Не сказать, что более элегантное, конечно. По сравнению с однострочным решением выглядит костылем) Но какое было написано - высылаю.

Единственное, не понял, зачем осталять файлы из .gitignore - их тоже лучше удалить, наверное (т.е. убрать флаг --exclude-standard).