Oi, Felipe!
Se você fizer um commit
e depois um push
para o repositório remoto, sem fazer o pull
, o que acontece é que suas alterações serão enviadas para o repositório remoto. No entanto, se houver alguma alteração no repositório remoto que você ainda não tenha em seu repositório local, você não terá essas alterações em seu ambiente de trabalho.
Agora, se após o push
você fizer um pull
, o Git tentará mesclar as alterações que estão no repositório remoto (e que você ainda não tem) com as alterações que você já tem em seu repositório local. Se as alterações forem em partes diferentes do código, o Git conseguirá fazer a mesclagem automaticamente.
No entanto, se as alterações forem na mesma parte do código (como no exemplo da aula onde Rodrigo e Gabrielle alteraram o mesmo arquivo na mesma linha), o Git não conseguirá fazer a mesclagem automaticamente e irá sinalizar um conflito. Nesse caso, você precisará resolver o conflito manualmente, decidindo qual versão do código deve ser mantida.
Portanto, se após o commit
e push
você não fizer o pull
e houver alterações no repositório remoto que conflitam com suas alterações, essas alterações não estarão em seu repositório local e você não verá a mensagem de erro até que tente fazer o pull
.
No começo, esse fluxo do Git é confuso, mas você pega o jeito com o tempo.
Espero ter ajudado e bons estudos!