There is a small distinction between copy-paste, which short of using static analysis tooling is undetectable, versus $(git cherry-pick) which is
tracked copy-paste
Contrast:
git checkout -b feat-1
echo 'awesome change' > README.md
git commit -am'fix'
git checkout main
git checkout -b feat-2
echo 'awesome change' > README.md
git commit -am'moar awesome fix'
git checkout main
git merge feat-1
git merge feat-2
with its cherry-pick friend
If one is curious why in the world multiple branches would need the exact same commit, I'm sure there are hundreds of answers but the most immediate one is CI manifests are per-branch so if one needs a change to CI, I would a thousand times rather $(for b in $affected_branches; do git checkout $b; git cherry-pick $my_awesome_ci_fix; done) which will survive those branches re-joining main