Durante o desenvolvimento de um sistema no IFMS, dois programadores precisam trabalhar simultaneamente no mesmo projeto, enquanto um adiciona novas funcionalidades, o outro corrige erros no código existente. Para garantir que ambos possam colaborar sem sobrescrever as alterações um do outro e ainda acompanhar o histórico de mudanças realizadas, a equipe decide utilizar uma ferramenta específica para esse controle.
Com base nessa situação, qual das seguintes soluções é a mais adequada?