Если ваши каталоги tmp и GemFile уже версионированы, Git не будет их игнорировать.
Либо поверните их, выполнив что-то вроде:
git rm -r --cached tmp
git commit -am "removing tmp"
(- кэшируются так, чтобы ониостанется в вашем рабочем каталоге)
, или игнорируйте, что они не игнорируются (:)), или выполните что-то вроде:
git update-index --assume-unchanged tmp/**
Приведенная выше команда «временно игнорирует» изменения впапки, которые уже версионированы.