Este comando é um pouco confuso, pressupõe-se então que existe uma branch remota chamada design e que queremos trabalhar nela, no entanto qual é a diferença entre este comando e simplesmente git checkout design? Pela minha compreensão ao darmos checkout em uma branch já existente no origin (remoto) já estamos copiando todo o seu conteúdo e histórico para nosso repositório local, dessa forma o envio das alterações realizadas se daria apenas por: git push origin design