Je pensais qu'en faisant ça sans ff, je ne verrai que le commit de merge dans ma branche master. Or j'ai tout l'historique de ma branche devel. C'est problématique. L'intérêt des branches pour moi c'est quand même de pouvoir commit un peu en mode bourrin dans les branches de développement de features et d'avoir une branche principale plus propre avec seulement les commits de merges de ces branches avec les commits qui lui sont directement destinées.
non ce n'est pas problematique, l'oppose serait problematique par contre amha
ce que tu souhaites faire si j'ai bien compris, c'est de reduire tous les commit de ta branche `devel` en un seul commit, puis ensuite de merge ce seul et unique commit resultant dans master pour ainsi ne voir aucun historique du developpement de `devel` dans la branche master
autrement dit, tu souhaites applatir/ecraser (d'ou le squash en anglais) l'historique de `devel`
faire ca est possible mais c'est tres mauvais si ton nombre de commit est grand, c'est mauvais dans le sens ou il faut vouloir garder une granularite raisonnable en cas de bug, tu veux pouvoir ensuite utiliser git blame et/ou git bisect par exemple pour trouver ton commit fautif, puis meme, de maniere general, il est bon de garder l'historique de developpement
si tu tiens vraiment a perdre de l'information parce que tu consideres que l'historique de developpement de `devel` est inutile a garder car il s'agit d'ajout triviaux, tu peux faire un squash de tes commits de `devel` avec `git rebase -i <1er commit de ta branche devel` ensuite tu squash pour reduire ton historique, dans ton cas je n'irais pas a squash tous les commits de devel sur le 1er de la branche
mais plutot je ferais un squash seulement des commits ou la separation avec le commit precedent est inutile a garder, typiquement une typo ou un fix trivial
une fois ton rebase -i fini,
tu peux faire ton merge comme tu l'as fait, et tu auras un historique propre de devel visible dans master, et c'est ce que tu veux