Есть ли способ настройки, чтобы установить это, не указывая, какая ветка?
Как вы можете git вытащить только текущую ветку?
Ответ 1
Git уже тянет только текущую ветку. Если у вас есть ветвь, настроенная как ветка отслеживания, вам не нужно указывать удаленную ветку. git branch --set-upstream localbranch reponame/remotebranch
установит отношение отслеживания. Затем вы отправляете git pull [--rebase]
, и только эта ветка будет обновлена.
Конечно, все удаленные ветки отслеживания и все refs для удаленного будут обновлены, но будет изменена только ваша локальная ветка отслеживания.
Ответ 2
Я просто так делал:
git pull origin "$(git branch | grep -E '^\* ' | sed 's/^\* //g')"
или
git pull origin $(git rev-parse --abbrev-ref HEAD)
Это извлекает текущую ветку из git branch
и вытягивает эту ветку из удаленного источника.
Обратите внимание, что, как сказал Сет Робертсон, когда аргументы не заданы, изменяется только текущая ветка, но все удаленные ветки выбираются. Я не хочу получать все удаленные ветки, поэтому я сделал это так.
Ответ 3
Попробуйте это для новой версии git:
$ git config --global push.default current
Ответ 4
Флаг --set-upstream
устарел и будет удален.
Следовательно, используйте --track
или --set-upstream-to
Пример: Если вы хотите установить информацию отслеживания для этой ветки, вы можете сделать это с помощью:
git branch --set-upstream-to=<remote>/<branch> develop
Ответ 5
Да, есть конфиг, который можно изменить в .gitconfig
, например:
[push]
default = current
который заставит текущую ветвь обновить ветвь с тем же именем на принимающей стороне.
Отметьте:
git config --global --get push.default
Смотрите: git-config.