Oi Marcelo, os casos onde você pode ter conflito são os mais diversos.
Não recomendo fazer commits linha a linha. Há várias estratégias de como trabalhar com Git. Uma delas é criar branches para cada feature (funcionalidade) do projeto, fazendo merges na master quando a funcionalidade é finalizada.
Você ainda pode ter conflitos aqui sim, mas ele são mais raros já que tudo está sendo feito em branches diferentes. Nessa estratégia, você nunca fará nada direto na master.
Há uma recomendação geral que é de fazer commits pequenos, mas pequenos quanto? AI depende muito do projeto. Pode ser ao escrever um trecho de código razoável, uma pequena função, etc.
Você não vai conseguir fugir dos conflitos, uma hora ou outra você vai ter coisas assim. A solução é simples: corrigir o conflito e fazer o commit da mudança.