Так что вы сталкиваетесь здесь с разницей между слиянием и ребазой. Когда вы сделали:
git pull origin master
Вы создали коммит слияния, в котором слились изменения из master. Этот коммит слияния был пуст, но он был создан. Такое поведение от слияния ожидается, но на мой взгляд нежелательно. Коммит был создан для хранения различий между двумя ветвями (Ваш локальный и Исходный мастер) и создается независимо от наличия каких-либо различий. Если вместо этого выдали
git pull --rebase origin master
Вы бы сделали ребаз. Перебазировка ищет последний общий коммит, который есть у вашего локального и Origin Master, откладывает во временное хранилище ваши изменения с момента этого коммита, затем накладывает на них изменения из Origin Master (коммит SomeOtherFile.cs из NotYou) и, наконец, воспроизводит ваши изменения поверх этой новой обновленной линии. Это воспроизведение выполняется коммитом, так что если вы на 10 коммитов вперед, это произойдет 10 раз.
Если нет конфликтов, то все это происходит мгновенно и без вмешательства. Если возникнет конфликт, вас остановят посередине, попросят исправить проблему, а затем вы выдадите
git rebase --continue
чтобы процесс продолжался. Здесь происходит то, что конфликты обрабатываются путем переопределения вашего исходного коммита, а не путем добавления коммита слияния. Но он сохраняет историю файлов в чистоте, а слияние происходит не так, как вы видели.