Кроме Jonas Wielicki's answer, вы можете сделать это с помощью git config
.
Местный филиал B
следы какой-то другой ветви, когда:
branch.B.remote
установлен, и
branch.B.merge
установлен.
Отслеживаемая ветка зависит от обоих значений. Обычно первым устанавливается на имя удаленного, обычно origin
, и чаще всего не имя merge
совпадает с именем локального, так что локальная ветвь master
дорожки origin/master
(например), потому что branch.master.remote
= origin
и branch.master.merge
= master
.
Однако «удаленное» имя может быть .
, и в этом случае ветвь фактически отслеживает другую локальную ветку! (Это полезно только в том случае, если другое имя филиала отличается - если ветвь «отслеживает себя», то каждое обновление в ветку также обновляет ветвь вверх по течению, так что ветка всегда актуальна, что довольно глупо. :-))
В качестве последней причуды в документации говорится, что отслеживание массируется по линиям fetch
, связанным с пультом дистанционного управления. Я не пробовал это сам, но это означает, что, например:
git config remote.zork.url = ssh://...
git config remote.zork.fetch = '+refs/heads/master:refs/xyzzy/plugh'
git fetch zork
git config branch.master.remote zork
git config branch.master.merge plugh
может вызвать местное отделение master
отслеживать zork
«s master
несмотря на то, что не будет никаких„удаленных филиалов“для дистанционного zork
, поскольку„удаленных филиалов“ живут в домене refs/remotes/
, а refs/xyzzy/plugh
отличается (и даже не содержит названия master
)!
(Я не знаю, почему это так сложно.)
Вы хотите, чтобы исключить все, что за пределами sparkling_new отрасли? В противном случае 'fetch' будет делать, imho. – xtofl