Salut.
Ta branche dev, comme son nom l'indique, est ta branche de developpement, c'est donc sur elle que tu travaille en DEV. Une fois tes modifications testées et validées, tu effectue un merge de ta branche DEV à ta branche MASTER.
A ce stade, ta branche MASTER et DEV sont identiques. Tu deploies ta branche MASTER sur ton site en production et tu recommence à DEV sur ta banche DEV..
Tu ne dois pas changer de branche sur ton site en production, celui-ci ne doit QUE récupérer la branche master.
Tu DEV en local , test ton DEV sur un autre virtualhost de ton serveur de prod (staging.tonsite.fr par exemple) ou sur un serveur de staging qui possède les meme librairies, valide les modifications, effectue le merging de tes branches dans ton dépot git, et récupere ta branche MASTER fraichement modifiée sur ta prod.
Désolé si ce n'est pas très clair, un schema serait plus parlant..