Можно ли настроить git таким образом, чтобы
git pull
всегда будет тянуть remote:master в мою локальную ветку master, независимо от того, в какой ветке я сейчас работаю?
Можно ли настроить git таким образом, чтобы
git pull
всегда будет тянуть remote:master в мою локальную ветку master, независимо от того, в какой ветке я сейчас работаю?
Нет, git pull
не может этого сделать.
Команда pull
- это, по сути, ярлык для fetch
+ merge
. Первым шагом является извлечение всех удаленных веток в локальные «удаленные»; второй шаг - объединить соответствующую ветку удаленного отслеживания с текущей веткой . Поскольку для правильного слияния требуется рабочее дерево, Git не допускает слияния с чем-либо еще, кроме текущей выделенной ветви.
Вы можете, однако, быстро перейти вперед . Если у вас нет локальных коммитов в master
и все слияния будут быстрыми, то вы можете сделать псевдоним для:
git fetch && git push . origin/master:master
Это выбирает все ветви, а затем помещает новые коммиты из origin/master
в master
в том же репозитории (здесь .
Означает "этот репозиторий"). То же самое можно сделать, используя различные другие команды, но нажатие - это удобный способ гарантировать, что произойдут только быстрые перемотки вперед и никакие коммиты не будут потеряны.