Ответ 1
git pull
(или, скорее, часть git merge
, которую выполняет pull
), будет "решать" как "впереди", так и "сзади".
ветвь X фиксируется за, означает, что на ветке зафиксировано X новых (без помех), которые отслеживаются вашей текущей ветвью.
ветвь X совершает движение вперед аналогично означает, что ваша ветка имеет X новых коммитов, которые еще не были объединены в отслеживаемую ветку.
После того, как вы потянули (тем самым объединив удаленные изменения в свои локальные) и нажав (тем самым публикуя свои изменения и слияние на удаленный), ваша ветка и удаленная ветвь будут указывать на одну и ту же фиксацию, так что ни впереди или сзади.