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