Когда вы делаете git otherbranch, программа в другой ветке извлекается.И большую часть времени, если вызов еще не произошел, вызывающая программа будет вызывать новую программу.Это может зависеть от природы вызывающей программы.
И IMO это не имеет никакого отношения к Git.Git не влияет на выполнение программы.Программа делает.Все элементы управления git - это содержимое в файловой системе.