Согласно информации, которую вы предоставили, у вас было 2 ветви (которые действительно были отделены друг от друга), и вы внесли изменения в Branch2, но хотели изменить код в Branch1.
Ваша ошибка заключалась в переключении веток, в то время как вы изменили файлы в branch2, по-прежнему отслеживаемой , следовательно, branch2 отличалась от своей фиксации HEAD, и поэтому эти изменения отслеживались, в результате чего они становились часть вашего запроса извлечения после работы на branch1.
Чтобы предотвратить это, вы можете использовать Git Stash для временного помещения всех этих изменений в другое место, пока они не понадобятся снова, что позволяет вам работать с branch1, единственными отслеживаемыми изменениями являются изменения в branch1 (в качестве рабочего каталога branch2). и индекс поддерживается git stash)
Тем не менее, похоже, что вы используете IDE, которая потенциально может покрывать большую часть этого процесса для вас, я бы порекомендовал заняться переключением веток / веток специально для этой IDE и, возможно, попытаться использовать командную строку Git просто для диагностики подобных проблем (Git CLI часто предоставляет подсказки и ошибки, помогающие понять, почему происходят подобные вещи).