Гитудаленное отслеживание веток автоматически - PullRequest
0 голосов
/ 08 февраля 2019

Из git docs

git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]

start_point определяется как создание новой ветви на основе фиксации из ветви начальной точки или фиксации, но в данном конкретном случаетакже создает ветвь, которая отслеживает начальную точку, например:

git checkout -b testbranch devbranch

Выходы:

Branch testbranch set up to track remote branch devbranch from origin by rebasing.

Ожидается ли этоповедение?Разве git checkout не должен просто создавать локальную ветвь, которая не отслеживает какую-либо удаленную ветку, пока не указано?Это конфигурация, которую я включил, которая вызывает такое поведение?

1 Ответ

0 голосов
/ 13 февраля 2019

Это не ожидаемое поведение.наконец, не так, как вы написали свой пример:

git checkout -b testbranch devbranch

Это не должно настраивать отслеживание, даже если devbranch отслеживает удаленную ветвь.

Однако, если вы имели в видуэта команда

git checkout -b testbranch origin/devbranch      

Тогда это должно было бы автоматически настроить отслеживание.Как указано в документации :

Это поведение используется по умолчанию, когда отправной точкой является ветвь удаленного отслеживания

Кроме того, вы, вероятно, имеетеустановите branch.autoSetupRebase на always или pull.rebase на true, поскольку вы получили сообщение «путем перебазирования» (вместо тихого значения по умолчанию для слияния).

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

 git checkout --no-track -b testbranch origin/devbranch
...