«Статус GIT GIT Pull-Reppo», говоря, что ветка опережает происхождение / мастер. Почему?

Так вот ситуация:

статус $ GIT
# На ветви Master
# Ваша ветка опережает «происхождение / мастер» [X].
#

Есть несколько вопросов об этом на этом уже, но никто, кажется, конкретно не обращается к типу сценария. Этот ответ к одному из вопросов ближе всего, но не входит в детали.

Я просто процитирую это Verbatim:

Если вы получите это сообщение после выполнения «GIT PULL удаленного ветки», попробуйте следить за этим с помощью «GIT FETCH».

FECT, кажется, обновляет локальное представление удаленной ветви, которая не обязательно происходит, когда вы делаете «Git Pulled Remote».

Этот наконечник действительно работает. Но «не обязательно происходит?» Почему нет? Мне нужно понять это. Что такое тяга не делает?

Я не хочу взять на себя этот вопрос, поэтому вот мой сценарий подробно:

Три компьютеров. MAC, на котором я разрабатываю, мой домашний сервер, где живет Git Reppo (I.E. Origin / Master) и учетная запись WebFaction, которая тянет с этого сервера.

Я делаю коммиты и GIT Push Origin Master только на Mac. Единственная команда, которая когда-либо запускается на WebFaction в рамках обычного рабочего процесса, является Master Git Pull Origin (как часть сценария развертывания ткани). Я не изменяю код там. Я одинокий разработчик, поэтому никто не делает никто.

В настоящее время я вошел в WebFaction и проверяю вещи, включая статус Git . Неизбежно, я всегда получаю сообщение «Ваша ветка впереди ...» сообщение. Бег Git Fetch заставляет сообщение уйти.

Я собираюсь добавить Git Fetch к сценарию ткани, который будет выполнен с этой проблемой, но я хочу знать, почему это необходимо сделать, особенно на тягу только клоном происхождения / мастер. Я не глубоко разбираюсь в Git, хотя я использую основную функциональность ежедневно, поэтому будет оценено новобрачное объяснение.

Обновление Как запрошено, соответствующие биты из Config :

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@[server_address]:[path/to/repo.git]
[branch "master"]
    remote = origin
    merge = refs/heads/master

10
задан Community 23 May 2017 в 02:09
поделиться