Different branches of git directly push each other to remote

problem description

left is master, right is dev, after local dev branch merge to master, push goes to remote library and stores it, then
1 submits A locally on master branch and push to remote master for storage,
2 is still locally on master branch, then submits B on A basis and push to remote master storage
3 or local on master branch, commit C, push directly to remote dev branch and store
, then check the local branch. This is the figure

above.

question:
Why is the parent node of C An instead of dev? I remember that after the two branches push each other locally and directly to each other"s branches and put them into the library, they will automatically correct the parent node?

Git
Nov.26,2021
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e4b974-43b03.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e4b974-43b03.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?