I am using GitHub Desktop on a Mac with Beanstalk as my remote git repository server.
I have a project with Main, Dev, and Dev-phpunit-baseline branches. Main is production-ready, Dev is branched from Main, and Dev-phpunit-baseline is branched from Dev. I work solo in Dev-phpunit-baseline while my team works in Dev (and doesn't modify any PHPUnit code). My team has merged Dev-phpunit-baseline to Dev a couple of times without incident.
I had 4 files with incorrect @author attributions that I committed to Dev-phpunit-baseline and then merged to Dev. I fixed the attributions, committed to Dev-phpunit-baseline, and merged to Dev to correct the errors. The updated @author lines are now part of Dev-phpunit-baseline and Dev branches (and Main, but that is irrelevant).
Subsequent to that corrected merge, my teammates have updated Dev. I want to apply Dev's changes to Dev-phpunit-baseline; because of the separation of duties, a rebase sounds appropriate.
I check out Dev-phpunit-baseline. I select "Rebase current branch" from the Branch menu, then select Dev. The merge conflict window appears showing all 4 files with the original author instead of the current author.
Here is an example of one of the conflicted files (all others are similar):
When I checkout Dev, those files show the updated author. Both branches (Dev & Dev-phpunit-baseline) in the remote Beanstalk repository show the updated author in all 4 files. The files in my local folder for Dev-phpunit-baseline show the updated author.
I have checked out Dev, copied the files in question to a temp directory, checked out Dev-phpunit-baseline, then moved the files from the temp directory to the correct location, overwriting the existing files. I still get the conflict.
I checked out Dev, deleted my local files, then reloaded them from Beanstalk origin. Still the same problem.
I deleted my entire local repository folder (including the .git folder), then re-cloned from Beanstalk. Still the same problem.
This problem also happens from the command line (so it's not a GitHub Desktop isolated issue).
This can't be a whitespace or line-ending problem (see Github Merge Conflict Despite Identical Lines In File or Why does git show a conflict between two apparently identical added files?) because the merge conflict shows different lines, not identical ones.
All of the following questions are essentially, "how to fix this?" Where is Git getting the older version of the file? Why doesn't Git pull the correct file from the local Dev branch? What else can I try to resolve this?
Thanks in advance for any hints or solutions.