Era uma vez, um protocolo...
1 protocol PlaceDetailsViewDelegate: AnyObject {
2 func didChangePlace()
3 }
Ele define um método chamado didChangePlace e é utilizado para implementar o padrão de delegates em um aplicativo Swift. Essa é a versão do código que está no branch dev do repositório principal do projeto.
Duas pessoas desenvolvedoras fizeram um git checkout -b para criar novos feature branches e implementar novos métodos para nosso protocolo.
Uma delas adicionou o método chamado didChangePlaceAddress...
1 protocol PlaceDetailsViewDelegate: AnyObject {
2 func didChangePlace()
3 func didChangePlaceAddress()
4 }
... e a outra adicionou outro método chamado didChangePlaceName, em seus respectivos feature branches.
1 protocol PlaceDetailsViewDelegate: AnyObject {
2 func didChangePlace()
3 func didChangePlaceName()
4 }
Como ambas criaram seus branches a partir da versão inicial do protocolo, que possuía apenas um método didChangePlace, a versão do código em um dos branches não possui o novo método que está sendo desenvolvido no outro branch e vice-versa.