Моя локальная ветка отслеживания git не работает должным образом.Мне нужен совет о том, как его настроить - PullRequest
2 голосов
/ 15 декабря 2010

Так что я работаю с другим разработчиком и хочу вытащить и перенести в удаленную ветку (кстати, это не удаленный мастер), но я хочу настроить так, чтобы при проверке моей локальной ветки на моей машине он будет извлекать и передавать в удаленную ветвь без явного указания.

Я выполнил эту команду на своем компьютере (предположим, что удаленная ветвь называется development , а созданная локальная ветвь называется dev1 ):

git branch --track dev1 origin/development

Затем проверил мою локальную ветку dev1 , изменил файл, поставил его, зафиксировал, а затем попытался нажать так:

git push origin

Но потом я получил это сообщение:

Everything up-to-date

Также я заметил дополнительные строки в моем .git / config файле вскоре после того, как я создал dev1 и проверил это:

[branch "dev1"]
    remote = origin
    merge = refs/heads/development

Итак, вопрос в том, чего мне не хватает? По сути, я хочу настроить это так, чтобы я каждый раз проверял dev1 и запускал:

git pull origin

он автоматически извлекает данные из источника / разработки без необходимости явно указывать это, и когда я запускаю:

git push origin

он автоматически перемещается в источник / разработку без необходимости явно указывать это.

Кроме того, почему он сказал мне «Все актуально», когда произошли явные изменения в толчке.

1 Ответ

1 голос
/ 15 декабря 2010

Как упомянуто в " Git push ничего не будет делать (все актуально) ", git push только подталкивает локальные ветви, которые были настроены для отправки в определенная удаленная ветвь.

Вы dev1 ветви знаете, что тянуть , а не куда толкать, из-за настройки push.default :

соответствие - нажать все соответствующие ветви. Все ветви, имеющие одинаковое имя на обоих концах, считаются совпадающими. Это по умолчанию.

Так как ваша локальная ветвь не имеет того же имени, что и ваша ветка восходящей ветки, вот ваша проблема.

Установите push.default на отслеживание, и оно будет работать.

tracking - переместить текущую ветвь в ее восходящую ветвь.

git remote show origin затем выведет список ветвей, настроенных на отправку в источник, и тогда должен быть указан dev1.

...