Gostaria de saber se tenho que sempre dar o pull antes de commitar e pushar mudanças que fiz no código para o repositório remoto, tendo em vista um cenário em que estou desenvolvendo com outro dev. E se eu fizer as mudanças tendo esquecido de dar o pull antes, eu vou ter que dar o pull e perder todas as mudanças que fiz, fazer as mudanças novamente e só assim dar o push pro repositório remoto? Isso ficou confuso pra mim.