2

Я использую msysgit (Git для Windows). Раньше было так, что запуск "git pull" автоматически "git fetch", а затем перебазировал мои изменения в каждой ветви с новым HEAD из апстрима. Теперь кажется, что "git pull" обычно дает мне ошибки о том, что у меня нет "ветки".* .merge "установлен в моем файле конфигурации. Когда это работало раньше, я не делал ничего особенного в моем конфигурационном файле. Это как я создаю свои местные филиалы? Я обычно делаю это:

git checkout -b localbranch origin/remotebranch

Это лучший способ создать ветки так, чтобы "git pull" автоматически объединял их? (потому что это, кажется, не работает для меня)

2 ответа2

5

Вам нужно что-то похожее на следующее в вашем конфигурационном файле:

[branch "master"]
    remote = origin
    merge = refs/heads/master

Если вам нужно добавить эту информацию для существующей ветви, вы можете использовать команду:

git branch --set-upstream mybranch origin/remotebranch

Если вы создаете новую ветку, вы можете убедиться, что ветка является удаленной веткой отслеживания, с помощью одной из команд:

git branch --track mybranch origin/remotebranch
git checkout --track -b mybranch origin/remotebranch

Тем не менее, --track должен быть по умолчанию. Если это не так, то для параметра branch.autosetupmerge может быть задано значение false. Чтобы сбросить его, вы можете установить его в true или сбросить:

git config --global branch.autosetupmerge true
git config --global --unset branch.autosetupmerge
0

Будьте осторожны с вышесказанным. Я знаком только с git на Linux, поэтому детали могут отличаться.

"git fetch" получает изменения, больше ничего не делает "git pull" делает "git fetch", а затем "git merge" (т. е. объединяет удаленные изменения в текущий материал) "git pull -r" делает a " git fetch "и затем" git rebase "(т. е. обновляет кончик ветки, в которой вы находитесь, до удаленной, а затем перебрасывает ваши изменения сверху)

Моя помощь по "git pull" (версия 1.8.1-290) заставляет меня взглянуть на branch. <Name> .rebase и branch.autosetuprebase в "git config", чтобы настроить это автоматически.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .