Просто пояснение (с использованием git версии 1.7.9.5 на Ubuntu 12.04):
Git добавит / удалит пульты. Это удаленные экземпляры git с подключенным сервером.
git remote add myremote git://remoteurl
Затем вы можете получить указанный git-репозиторий так:
git fetch myremote
Кажется, что это создает ветку с именем «myremote», однако удаленный для ветви не устанавливается автоматически. Для этого вы должны сделать следующее:
Сначала убедитесь, что у вас есть эта проблема, т.е.
git config -l | grep myremote
Вы должны увидеть что-то вроде:
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
Если вы видите branch.myremote.remote=.
, то вы должны продолжить:
git config branch.myremote.remote myremote
git checkout myremote
git pull
Теперь вы должны быть в курсе событий с удаленным репозиторием, а ваши пулы / толчки должны быть привязаны к соответствующему пульту. Вы можете переключать пульты таким образом, для каждой ветви . [Примечание] [1]
Согласно Официальной документации Git Config , вы можете настроить push-ветку по умолчанию (просто выполните поиск remote.pushdefault на этой странице), однако имейте в виду, что это не повлияет на уже существующие репозитории / ветки, так что это будет работать, но только для новых репозиториев / веток. Вы должны помнить, что --global
будут заданы пользовательские настройки репозитория по умолчанию (~ / .gitconfig), --system
будут установлены общесистемные настройки репозитория (/ etc / gitconfig), и ни один флаг не установит параметры конфигурации для текущего репозитория (./.gitconfig).
Также следует отметить, что опция конфигурации push.default предназначена для настройки поведения ref-spec , а не удаленного поведения.
[1]: git branch --set-upstream myotherremote
обычно работает здесь, однако git будет жаловаться, что не будет использовать ветку как свой удаленный, если git branch --set-upstream myremote
используется. Однако я считаю, что это неправильное поведение.